Hi,
In many places of httpd, we are skipping white spaces with code that
looks like :
while (*l && apr_isspace(*l)) {
++l;
}
The first test against *l is IMO useless and could be removed in order
to improve the generated code.
while (apr_isspace(*l)) {
++l;
}
apr_isspace is in fact turned to a call to isspace by the apr library
and isspace(0) returns 0.
I also made some measurement.
The version with the test against *l is faster ONLY when the string to
scan is EMPTY. In this case it is more or less 50% faster to completely
avoid the call to isspace.
In ALL other cases, removing the first test is about 15% faster.
I have spotted more or less 20 of these in the code and I could provide
a patch in bugzilla to remove these useless tests if you think it is useful.
Thanks for your feed back.
Best regards,
Christophe Jaillet