[erlang-questions] Erlang/OTP 21.0 slow with Windows uniprocessor hosts?

Jean-Sébastien Pédron jean-sebastien.pedron@REDACTED
Fri Jun 29 12:32:41 CEST 2018


I noticed that Erlang/OTP 21.0.1 was very slow on Windows, when using a
single-CPU VM on Amazon EC2 (instance type = t2.micro).

Here is the time it takes to run the following one-liner:
    erl.exe -noinput -eval "halt()."

Erlang 20.3:   < 1 second (almost immediate)
Erlang 21.0.1: 10 seconds

I tried with a more powerful instance type (m3.medium) which still
provides a single CPU, and the numbers are exactly the same.

Now, if the instance type is t2.medium (two CPUs), the times are about
the same for both Erlang/OTP 20.3 and 21.0.1 (i.e. < 1 second).

I tried to set the number of schedulers to 1 to try to reproduce the
situation with I see on t2.micro, but couldn't: both versions of Erlang
execute this one-liner quickly.

I tried the following more "complex" script:
    erl.exe -noinput \
      -eval "io:format(erlang:system_info(version)), halt()."

On t2.micro (one CPU):

Erlang/OTP 20.3:   < 1 second
Erlang/OTP 21.0.1: 20 seconds

On t2.medium (two CPUs):

Erlang/OTP 20.3:   < 1 second
Erlang/OTP 21.0.1: < 1 second

I also noticed that when Erlang/OTP 21 is slow, it takes 100% CPU.

I tried with AMIs of Windows Server 2012 and Windows Server 2016.

I suppose this behavior is unexpected.

Do you need more details to investigate/reproduce the issue?

Thank you!

Jean-Sébastien Pédron

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20180629/8d4f1626/attachment.bin>

More information about the erlang-questions mailing list