develooper Front page | perl.perl5.porters | Postings from January 2013

Re: use of LIKELY() and UNLIKELY() branch predictors

Thread Previous | Thread Next
From:
David Cantrell
Date:
January 29, 2013 11:39
Subject:
Re: use of LIKELY() and UNLIKELY() branch predictors
Message ID:
20130129113950.GA21089@bytemark.barnyard.co.uk
On Mon, Jan 28, 2013 at 04:24:38PM +0000, Dave Mitchell wrote:

> Perl defines the LIKELY() and UNLIKELY() macros, which (under gcc)
> tell the compiler whether a particular expression is likely to be true or
> not...
> 
>     if (UNLIKELY(rare_condition)) {
> 	.. do something rare, e.g. warn ...
>     }
> 
> which will hopefully allow the compiler to do clever things.
> 
> Now, my thoughts are:
> 
> 1) Has anyone looked at this recently to know whether gcc does anything
> useful with it?
> 
> 2) does anyone know whether other compilers provide similar facilities,
> and so want to contribute suitable macro defs?
> 
> 3) if it is useful, should we be using it in lots of places?

4) is the cost in making the perl source code even more impenetrable due
to being a twisty maze of macros worth it?

-- 
David Cantrell | Minister for Arbitrary Justice

      You know you're getting old when you fancy the
      teenager's parent and ignore the teenager
        -- Paul M in uknot

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About