Has anybody used the __builtin_expect feature to good effect? We had been using this extensively in our codebase in places where there is an obvious common "fast path".<p>I tried an experiment where I did a comparison of the __builtin_expect version against a version with our likely/unlikely macros defined to the identity, and I actually saw no difference, which was disappointing. When I did some digging I found this blog post: <a href="http://bitsup.blogspot.com/2008/04/measuring-performance-of-linux-kernel.html" rel="nofollow">http://bitsup.blogspot.com/2008/04/measuring-performance-of-...</a> which suggests the same result for the Linux kernel.<p>FWIW GCC also has a reasonable set of PGO options (not mentioned in this article), and those actually can (anecdotally) make a noticeable difference, although you're subject to the overtraining problem if you're not careful.