]> granicus.if.org Git - postgresql/commit
Use isinf builtin for clang, for performance.
authorAndres Freund <andres@anarazel.de>
Wed, 28 Mar 2018 19:45:32 +0000 (12:45 -0700)
committerAndres Freund <andres@anarazel.de>
Wed, 28 Mar 2018 20:12:15 +0000 (13:12 -0700)
commit8a934d6778331f2ac04a40f4f22178a56a232315
tree25444959b242ffa5bf7c501b333844a52a371b80
parent266b6acb312fc440c1c1a2036aa9da94916beac6
Use isinf builtin for clang, for performance.

When compiling with clang glibc's definition of isinf() ends up
leading to and external libc function call. That's because there was a
bug in the builtin in an old gcc version, and clang claims
compatibility with an older version.  That causes clang to be
measurably slower for floating point heavy workloads than gcc.

To fix simply redirect isinf when using clang and clang confirms it
has __builtin_isinf().
src/include/port.h