Comparing the run time of math functions from LLVM libc
with the MSVCRT libc:
function | perf-LLVM libc | perf-MSVCRT |
ceilf | 2.36 mins (141491389600 ns) | 47.10 sec (47100940100 ns) |
exp2f | 6.37 mins (358441794700 ns) | 12.39 mins (719404388300 ns) |
expf | 6.35 mins (381204661800 ns) | 6.17 mins (346150163200 ns) |
fabsf | 1.18 mins (78425546600 ns) | 53.75 sec (53745301900 ns) |
floorf | 3.15 mins (164770963800 ns) | 45.94 sec (45935988400 ns) |
logbf | 4.38 mins (262508058800 ns) | 55.47 sec (55466377700 ns) |
nearbyintf | 3.20 mins (167972868000 ns) | 9.13 mins (523822963600 ns) |
rintf | 3.20 mins (168001498700 ns) | 22.35 mins (1341266448800 ns) |
roundf | 2.35 mins (141151500600 ns) | 1.42 mins (85326429800 ns) |
truncf | 2.31 mins (114846424000 ns) | 59.41 sec (59414309100 ns) |
Evaluating the number of differing results in Windows:
function | diff |
ceilf | 8388606 differing results |
exp2f | 213303887 differing results |
expf | 193922 differing results |
fabsf | 8388606 differing results |
floorf | 8388606 differing results |
logbf | 0 differing results |
nearbyintf | 0 differing results |
rintf | 0 differing results |
roundf | 0 differing results |
truncf | 0 differing results |