ring of processes
Bengt Kleberg
eleberg@REDACTED
Tue May 27 08:14:40 CEST 2003
greetings,
thanks to Ulf Wiger and Roger Peppe, who supplied the programs in
erlang and limbo respectivly, i have had the opportunity to run the
''ring of processes'' test/benchmark (as described in the ''Concurrency
Oriented programming in Erlang'' talk by Joe Amstrong).
i used the same, lightly loaded, machine for both tests:
SunOS cbe2131 5.8 Generic_108528-19 sun4u sparc SUNW,Ultra-5_10
with 256 Mb ram.
the test started with 1000 processes in the ring. since i knew that
they would not reach 200000 processes without thrashing i had 200000 as
the maximum number of processes. the number of processes increased with
20000 for each step.
erlang ''crashed'' when the spawning of a processes took more than 60
usec (this value is a timeout in the test code).
inferno crashed when there was no more memory left (i had given a limit
of 200 Mb at startup. i did not want to continue testing once
ram was exhausted).
these where the results for:
Erlang (THREADS,HIPE) (BEAM) emulator version 5.2.3.1
erl -noshell +P200000 -s ring main ring 1000 200000 20000
1000 24.2000 3.15600
21000 27.8362 4.43110
41000 24.4463 4.54617
61000 23.2400 4.43508
81000 22.6473 4.44777
101000 22.5306 4.41780
121000 22.0450 4.41909
141000 21.8246 4.45016
161000 29.2502 57.8320
{"init terminating in
do_boot",{function_clause,[{ring,format,[standard_io,{181000,timeout}]},{lists,f
oreach,2},{ring,ramp,4},{ring,main,1},{init,start_it,1},{init,start_em,1}]}}
these where the result for:
Inferno Third Edition (20020715) main (pid=910) interp
inferno -pmain=200000000 /usr/eleberg/src/ring.dis 1000 200000 20000
1000 28 3
21000 27.1429 3.71429
41000 26.3415 3.82927
61000 20.3279 3.7377
81000 18.7407 3.7284
101000 18.5545 3.76238
121000 17.7934 3.72727
141000 29.305 89.2199
arena main too large: size 1088 cursize 199994592 arenasize 200000000 maxsize
200000000
[Ring] Broken: "no memory"
More information about the erlang-questions
mailing list