likely and unlikely
Bruce Cran
bruce at cran.org.uk
Tue Mar 16 21:50:58 UTC 2010
On Saturday 13 March 2010 09:24:39 Bruce Evans wrote:
> These macros may have useful 15-25 years ago for i386, i486 and Pentium1,
> since CPU branch predictors were either nonexistent or not so good.
> After that, CPU branch predictors became quite good. The macros should
> have been mostly unused 15-25 years ago too, since they optimize for
> unreadability and unwritability. Fortunately they are rarely used in
> FreeBSD. They were imported from NetBSD in 2003 where they are used
> more (306 instances in 2005 NetBSD /sys vs 28 instances in 2004 FreeBSD
> /sys; there are 2208 instances of likely() in 2004 linux-2.6.10).
The Cell powerpc processor doesn't have a dynamic branch prediction unit.
Quite a few articles recommend using __builtin_expect to improve performance.
--
Bruce Cran
More information about the freebsd-arch
mailing list