[erlang-questions] beam.smp startup time regression

Tuncer Ayaz <>
Fri Apr 4 14:45:38 CEST 2014


The recent HiPE and half-word-emu threads made me recheck a subjective
impression I had about the steady increase of beam.smp startup time
over several OTP releases.

I used to build with --enable-native-libs, but the already not quick
enough startup time of beam.smp got even longer, so in default nodes I
use neither HiPE nor --enable-native-libs.

Unscientifically and quickly measured average time to run
$ time erl -eval 'halt(0).'
with different Erlang/OTP releases (no native-libs at all):

# R13B03
real    0m0.261s # min 0.254 max 0.264
user    0m0.143s
sys     0m0.020s

# R14B04
real    0m0.293s # min 0.289 max 0.301
user    0m0.167s
sys     0m0.033s

# R15B03-1
real    0m0.318s # min 0.315 max 0.323
user    0m0.203s
sys     0m0.002s

# R16B03-1
real    0m0.373s # min 0.354 max 0.381
user    0m0.257s
sys     0m0.053s

To be precise, R16B03-1 is the only beam.smp with halfword-emu, but
the last time I measured this some time back, R16 without halfword-emu
on i386 was also considerably slower.

I believe the R15 increase is due to Raimo's flushing fixes and that's
the right thing to do, but it steadily increases with each release and
especially so in R16.

Personally, I think this is a regression and makes using escripts less
fun than it used to be.

A proper measurement would build beam.smp with the same configure
flags and probably even use git-bisect to track down commits. I don't
have time for this right now, but decreasing startup time could be a
fun project :).



More information about the erlang-questions mailing list