string-machine icon indicating copy to clipboard operation
string-machine copied to clipboard

Faust benchmark

Open jpcima opened this issue 6 years ago • 4 comments

Below are some measures of output throughput with faust bench.cpp. (GCC)

  • fast-math is able to get a performance increase most of times
  • vec is almost always a massive decrease

Edit: the data is a measure of throughput, which means higher = better.

Delay3PhaseDigital LFO3PhaseDual NoiseLFO PwmOscillator StringFiltersHighshelf

jpcima avatar Dec 31 '19 11:12 jpcima

And this is when using Clang as compiler.

Here it's some of the same conclusions except that vec is useful in some cases.

Delay3PhaseDigital LFO3PhaseDual NoiseLFO PwmOscillator StringFiltersHighshelf

jpcima avatar Dec 31 '19 11:12 jpcima

You should try the faustbench-llvm tool described here: https://github.com/grame-cncm/faust/tree/master-dev/tools/benchmark. See for instance this log: https://gist.github.com/sletz/1f2f07bde42dda5721c46a3ce4e9c578

sletz avatar May 01 '20 21:05 sletz

@sletz, very useful thanks I've had a few obstacles building it however, so I took a few notes.


  • has macOS-only build flags

    "-dead_strip" in tools/benchmark/Makefile

  • fails build on a case-sensitive FS

    /opt/faust/include/faust/dsp/dsp-bench.h:42:10: erreur fatale: faust/GUI/MapUI.h : Aucun fichier ou dossier de ce type
       42 | #include "faust/GUI/MapUI.h"

replace faust/GUIfaust/gui to resolve it

  • builds against system headers instead of headers in-repository (fail with faust 2.20.2 on system)

jpcima avatar May 02 '20 11:05 jpcima

Thanks, should be fixed in https://github.com/grame-cncm/faust/commit/ccedfc929e6d656b291bc29c8f306a5fdf995864.

sletz avatar May 02 '20 12:05 sletz