У меня установлен болт, он использует пул приложений .net 2. Могу ли я переключиться на. этот тип кода: static const char * kFoo = "Bar"; void SaxCallBack (char * sax_string, .....) {if (strcmp (...
В моем обратном вызове синтаксического анализа SAX 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), но я думаю, что это подвержено ошибкам для большого количества постоянных строк.)
Edit: Мотивация для оптимизации: анализ моей SVG-карты на iPod touch 2G занимает 5 секунд (!) с использованием NSXMLParser. Итак, я хочу переключиться на lib2xml и оптимизировать сравнение строк.