[erlang-questions] beam.smp startup time regression

Tuncer Ayaz <>
Fri Apr 4 19:20:48 CEST 2014


On Fri, Apr 4, 2014 at 5:01 PM, Dan Gudmundsson <> wrote:
> Doesn't rebar compile erlang files in parallel?

Yes, -j/--jobs defaults to 3 processes.

> If so you want async threads..

Have I been under the wrong impression that the process schedulers
independently make use of os threads and that +AN is for inet_drv,
efile_drv, zlib_drv, etc.? I mean, I was under the impression that +AN
is mostly for erl_check_io.

> On Fri, Apr 4, 2014 at 4:49 PM, Tuncer Ayaz <> wrote:
>>
>> In addition to "erl -eval 'halt(0).'", I tried "rebar --version",
>> and the results (ignoring extreme outliers) with R16B03-1 +A0 are
>> promising.
>>
>> $ time rebar --version
>> low:
>> real    0m0.280s
>> user    0m0.240s
>> sys     0m0.053s
>>
>> high:
>> real    0m0.375s
>> user    0m0.313s
>> sys     0m0.063s
>>
>> $ export ERL_FLAGS=+A0
>> $ time rebar --version
>> low:
>> real    0m0.244s
>> user    0m0.200s
>> sys     0m0.037s
>>
>> high:
>> real    0m0.262s
>> user    0m0.217s
>> sys     0m0.033s
>>
>> Egil, would you advise against adding +A0 to rebar's escript
>> emu_args in the header? I mean, is it generally important to have
>> async threads for any kind of erlang code running on R16 and later?



More information about the erlang-questions mailing list