Messages in this thread | | | From | Ingo Oeser <> | Subject | Re: [PATCH] memchr (trivial) optimization | Date | Thu, 23 Aug 2007 02:13:20 +0200 |
| |
On Wednesday 22 August 2007, lode leroy wrote: > While profiling something completely unrelated, I noticed > that on the workloads I used memchr for, I saw a 30%-40% improvement > in performance, with the following trivial changes... > (basically, it saves 3 operations for each call)
Yes, but then you could be a bit more explicit to the compiler on what you are doing here:
void *memchr(const void *s, int c, size_t n) { const unsigned char *p = s;
for (; n != 0; n--, p++) { if ((unsigned char)c == *p) { return (void *)p; } return NULL; }
Now the compiler should see the loop more clearly.
Best Regards
Ingo Oeser - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |