Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.5 KB

performance.md

File metadata and controls

24 lines (18 loc) · 1.5 KB
layout
default

Performance

The image below shows the approximate performance of:

The graph below plots the average number of nanoseconds a single operation takes: lower is better. The data was collected with Google Benchmark on an Intel Core i7-5820K, 3.3GHz.

The results show the following:

  • Compared to libfixmath, the performance of fpm is at least as good, except for exp, where it's considerably slower.
  • Compared to CNL, fpm only matches the performance for sqrt. However, CNL does not support the majority of benchmarked functions.
  • Compared to native single-precision floating-point operations, fpm is slower by up to an order of magnitude for most functions, except for the basic add, sub and several power or trigonometry functions, where it is faster.

Notes

For a fair comparison, libfixmath was compiled with FIXMATH_NO_CACHE. It should also have been compiled with FIXMATH_NO_OVERFLOW (since fpm does not detect overflow), but libfixmath failed to compile with that option.