Erlang/OTP 21.0 slow with Windows uniprocessor hosts?

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Erlang/OTP 21.0 slow with Windows uniprocessor hosts?

Jean-Sébastien Pédron-4

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

erlang-questions mailing list
[hidden email]

signature.asc (849 bytes) Download Attachment