This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] malloc: remove __builtin_expect
- From: Jörn Engel <joern at purestorage dot com>
- To: Yury Gribov <y dot gribov at samsung dot com>
- Cc: "GNU C. Library" <libc-alpha at sourceware dot org>, Siddhesh Poyarekar <siddhesh dot poyarekar at gmail dot com>, Joern Engel <joern at purestorage dot org>
- Date: Tue, 26 Jan 2016 00:59:07 -0800
- Subject: Re: [PATCH] malloc: remove __builtin_expect
- Authentication-results: sourceware.org; auth=none
- References: <1453767942-19369-1-git-send-email-joern at purestorage dot com> <1453767942-19369-21-git-send-email-joern at purestorage dot com> <56A726C1 dot 6070206 at samsung dot com>
On Tue, Jan 26, 2016 at 10:56:49AM +0300, Yury Gribov wrote:
> On 01/26/2016 03:24 AM, Joern Engel wrote:
> >From: Joern Engel <joern@purestorage.org>
> >
> >It was disabled anyway and only served as obfuscation. No change
> >post-compilation.
>
> FYI I've witnessed significant improvements from (real) __builtin_expect in
> other projects.
Interesting. I tried to find any effect and couldn't. Michael Kerrisk
managed to write an example program that demonstrated the advantage:
http://blog.man7.org/2012/10/how-much-do-builtinexpect-likely-and.html
I tried his program and again couldn't demonstrate any effect. Not that
I question his numbers, there likely was an effect using his compiler
and machine. But with a newer compiler and/or cpu, the effect was gone.
So if you have a reference to the project and can replicate the
improvement, I would be interested.
Jörn
--
It's worth remembering that one reason the Internet succeeded was that
it did not need the permission of the local telcos in order to get up
and going.
-- iang