I am reading “Write Great Code Volume 2” and it shows the following strlen impelementation:
int myStrlen( char *s )
{
char *start;
start = s;
while( *s != 0 )
{
++s;
}
return s - start;
}
the book says that this implementation is typical for an inexperienced C programmer. I have been coding in C for the past 11 years and i can’t see how to write a function better than this in C(i can think of writing better thing in assembly). How is it possible to write code better than this in C? I looked the standard library implementation of the strlen function in glibc and I couldn’t understand most part of it. Where can I find better information on how to write highly optimized code?
From Optimising strlen(), a blogpost by Colm MacCarthaigh:
It gives good example in what direction you can work to speed it up. And another quote from it