[erlang-questions] beam.smp startup time regression

Björn-Egil Dahlberg <>
Mon Apr 7 14:41:16 CEST 2014


On 2014-04-04 19:20, Tuncer Ayaz wrote:
> 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.

Async-threads are for the file-handling and thus the efile_drv. 
Async-threads should be used regardless if the jobs are done in parallel 
or not.


>
>> 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