Since BeamASM doesn't support HiPE - has anyone seen benchmarks of BeamASM (JIT) vs HiPE. I've searched and searched and can't find such analysis.
(Super excited the JIT work is seeing light after 10+ years)
Since BeamASM doesn't support HiPE - has anyone seen benchmarks of BeamASM (JIT) vs HiPE. I've searched and searched and can't find such analysis.
(Super excited the JIT work is seeing light after 10+ years)
Erlang/OTP 23 [erts-11.1] [hipe]
Erlang/OTP 24 [erts-12.0] [jit]
binarytrees,hipe,1,7.531
binarytrees,erlang,1,11.768
binarytrees,hipe,2,4.172
binarytrees,erlang,2,5.149
fannkuchredux,hipe,1,59.079
fannkuchredux,erlang,1,73.151
fasta,hipe,1,57.006
fasta,erlang,1,50.843
fasta,erlang,2,20.209
knucleotide,hipe,1,92.662
knucleotide,erlang,1,80.360
knucleotide,hipe,3,86.793
knucleotide,erlang,3,70.949
mandelbrot,hipe,1,118.623
mandelbrot,erlang,1,48.756
mandelbrot,hipe,2,101.211
mandelbrot,erlang,2,46.154
mandelbrot,hipe,3,87.793
mandelbrot,erlang,3,44.633
mandelbrot,hipe,4,84.878
mandelbrot,erlang,4,44.976
nbody,hipe,3,140.025
nbody,erlang,3,100.630
pidigits,hipe,1,8.791
pidigits,erlang,1,8.008
pidigits,hipe,2,8.515
pidigits,erlang,2,8.673
pidigits,hipe,3,7.935
pidigits,erlang,3,7.748
regexredux,hipe,6,42.757
regexredux,erlang,40.402
revcomp,hipe,1,25.622
revcomp,erlang,1,23.070
revcomp,hipe,3,188.990
revcomp,erlang,3,155.024
revcomp,hipe,4,122.507
revcomp,erlang,4,106.456
spectralnorm,hipe,1,92.347
spectralnorm,erlang,1,62.519
spectralnorm,hipe,2,11.176
spectralnorm,erlang,2,11.460
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...The Erlang folks are looking for maintainer volunteers to continue working on HiPE support, they don't have the manpower right now to maintain it themselves.
Both HiPE and this JIT have drastically different improvements depending on the specific code that's running, which makes it challenging to have a real world benchmark as well.
I feel like I saw graphs in one of the presentations, but I don't recall which, or if it was about the final iteration of the JIT.
I suspect HiPE would beat the JIT on tight loops, but the JIT wins in general because of the lack of switching cost between native and interpreted code.