Skip to content

Stop providing branch prediction information

The __builtin_expect() can be used to provide the compiler with branch prediction information. The Gcc manual says[1] on the subject:

In general, you should prefer to use actual profile feedback for
this (-fprofile-arcs), as programmers are notoriously bad at
predicting how their programs actually perform.

Stop using __builtin_expect() and ISC_LIKELY() and ISC_UNLIKELY() macros to provide the branch prediction information as the performance testing shows that named performs better when the __builtin_expect() is not being used.

  1. https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fexpect

Closes #2952 (closed)

Merge request reports