otp-22: performance degradation
John Högberg
john.hogberg@REDACTED
Tue Mar 31 13:47:26 CEST 2020
Hi!
Thanks for pointing this out. As far as I can tell it doesn't have anything to do with dict, but is caused by lists:mapfoldl/3 using much more stack space than in OTP 21. We'll try to have this fixed before OTP 23.0-rc3.
/John
-----Original Message-----
From: erlang-questions <erlang-questions-bounces@REDACTED> On Behalf Of Alexey Antipov
Sent: Tuesday, March 31, 2020 11:08
To: erlang-questions@REDACTED
Subject: otp-22: performance degradation
Hi,
I noticed that using of dict in some cases is significantly degraded in otp-22 comparing with otp-21.
Code:
~~~~~
#!/usr/bin/env escript
-mode(compile).
main([]) ->
{Time,_} = timer:tc(fun() ->
%% lists:foldl has no degradation
lists:mapfoldl(fun(K,Dict) -> {1,dict:store(K,1,Dict)} end,
dict:new(),
lists:seq(1, 166666))
end),
io:format("Time: ~b~n", [Time]),
ok.
~~~~~
21.3.8.3: Time: 615437
22.3: Time: 5405957
23.0-rc2: Time: 5569684
Is this a known issue?
Should I create an issue at bugs.erlang.org?
Thanks
More information about the erlang-questions
mailing list