В моем обработчике разбора XML xml (XCode 4, LLVM) я делаю много вызовов этот тип кода:
static const char* kFoo = "Bar";
void SaxCallBack(char* sax_string,.....)
{
if ( strcmp(sax_string, kFoo, strlen(kFoo) ) == 0)
{
}
}
Можно ли предположить, что strlen (kFoo) оптимизирован компилятором?
(Пример кода Apple был предварительно рассчитан strlen (kFoo), но я думаю, что это ошибка, подверженная большому количеству постоянных строк.)
Изменить: Мотивация для оптимизации: разбор моей SVG-карты на iPod touch 2G занимает 5 секунд (!) с использованием NSXMLParser. Итак, я хочу перейти на lib2xml и оптимизировать сравнение строк.