:offtop: Самый оптимальный вариант как по размеру, так и по скорости - экспортировать перечисленные функции из ntdll
интересно как реагируют антивирусы на экспорт этих функций? всё таки - если написать strlen по моему алгоритму, для строки размером например 1 мегабайт может получиться выигрышь по скорости до 900.000 (раз), прибл.
Ты еще не озвучил вразумительного алгоритма, а уже о каком-то супер-выигрыше говоришь. В общем сл. после конца строки могут идти не только другие строки, но и произвольный числовой мусор из стека или кучи с произвольным кол-вом нулевых байтов. Если твой двоичный или стохастический поиск и найдет какой-то нулевой байт, то как он может гарантировать, что это именно тот (т.е. перед ним нет ни одного другого нулевого) ?! Или расчет только на какой-то частный случай, когда после конца строки гарантированно идут одни нули ?
Я недавно изобретал велосипед, доверили написание своего движка субд. Моя реализация _wcsicmp в контексте моей задачи даже не знаю насколько быстрее, по сравнению с CRT 2010. Просто я ей скормил такие данные, что у меня не хватило терпения дождаться завершения тестов стандартной функции.