Я читаю «Написание отличного кода, том 2», и он показывает следующую строгую реализацию:
int myStrlen( char *s )
{
char *start;
start = s;
while( *s != 0 )
{
++s;
}
return s - start;
}
в книге говорится, что эта реализация типична для неопытного программиста на C. Я кодировал на C последние 11 лет, и я не вижу, как написать функцию лучше, чем эта, на C (я могу придумать, как написать лучшую вещь на ассемблере). Как можно лучше писать код на C? Я посмотрел стандартную библиотечную реализацию функции strlen в glibc и не смог понять ее большую часть. Где я могу найти более подробную информацию о том, как писать высокооптимизированный код?