Все, что я могу видеть для существенного увеличения, это то, что вы можете создать массив логического C-стиля, индексированный по первой букве вашего префикса, и предварительно загрузить его YES / NO в зависимости от того, является ли этот символ "хитом". , (Вероятно, вы хотите, чтобы массив из 256 элементов индексировался младшим байтом 2-байтового символа.) Во внешнем цикле возьмите первый символ имени, индексируйте этот массив, и если он НЕТ, пропустите оставшуюся часть внешнего тело петли. Работает только в том случае, если префиксный массив достаточно мал (поэтому менее половины элементов логического массива имеют значение YES).
Вероятно, вы можете сделать небольшое улучшение, используя массив в стиле C, а не префикс NSArray, но за счет создания этого массива в стиле C заранее.
Существуют и другие методы, которые включают хеширование, но затраты и сложность установки, вероятно, не стоят того.