[Shootout-list] process creation & message passing chain
skaller
skaller@users.sourceforge.net
08 Nov 2004 12:39:19 +1100
On Mon, 2004-11-08 at 02:44, Isaac Gouy wrote:
---->
For the chain test, maybe use parameters like
N = 200 350 500 M = 1
For the chainmsg test, maybe use parameters like
N = 500 M = 25000 50000 75000
and see what the timings are like.
<------
Executive summary:
Posix threads are so slow,
none of the numbers for M are reasonable for
systems using them. You'll get tests running
for many hours.
I suggest some smaller numbers so these systems can
be shown to actually run correctly, and to get some
idea how fast they are, and to compare them.
M = 10 100 1000 5000 10000 25000 50000 75000
may be more useful for that. It may also be worth
actually scaling the sequence like:
M = 2 4 8 16 32 64 ..
to get some idea of the O(?) performance
from the graph. (perhaps with a different factor than 2 ..)
It may be useful for the shootout graph to display
the logarithm of the times instead of the times,
otherwise the slow systems will flatline the faster ones.
Some data:
-------------------------------------------------------
OK, for Felix:
[skaller@pelican] /mnt/user2/work/flx>time bin/flx_run ./thr.so 500
75000
500 threads
75000 messages
37500000
real 0m3.218s
user 0m3.050s
sys 0m0.010s
and for Ocaml using Posix threads:
[skaller@pelican] ~>time ./evt 250 750
Thread count 250
Message count 750
188250
real 0m14.128s
user 0m4.750s
sys 0m1.050s
[skaller@pelican] ~>time ./evt 250 7500
Thread count 250
Message count 7500
1882500
real 2m29.733s
user 0m37.650s
sys 0m7.120s
Ocaml version with VM threads only:
[skaller@pelican] ~>ocamlc -vmthread -o evtv threads.cma evt.ml
[skaller@pelican] ~>
[skaller@pelican] ~>time ./evtv 250 7500
Thread count 250
Message count 7500
1882500
real 1m21.644s
user 1m21.220s
sys 0m0.040s
--
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850,
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net