Open sletz opened 4 years ago
Stephane, thank you very much for trying MIR and provided performance data!
I do have plans to port MIR to more targets. I am planning to port MIR ppc64 and z-series before the summer. I am thinking about making the first MIR release this summer too.
As for the performance, loop invariant code motion and register renaming (for better register allocation and better invariant code motion) will be added and ready in about 1-2 months. I hope this will improve the performance a bit.
Can you explain what the figures mean? Is higher bar better or worse?
C++ is the reference (= 1), higher is better. So basically on the tests MIR run between 31% (violonMIDI.dsp) up to 83% (mixer.dsp) of the C++ version. C++ and LLVM IR code is emitted on native mode (equivalent to -march=native) and -Ofast. C++ and LLVM may also auto-vectorize.
The Faust compiler now generates MIR code. Here is a benchmark on a set of DSPs (on macOS 10.13, 2.2 Ghz Core I7):
The backend code is here.
Now waiting to have more CPUs supported by MIR !