Message from discussion
stress-testing erlang
Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!newspeer1.nwr.nac.net!colt.net!nntp.theplanet.net!inewsm1.nntp.theplanet.net!newsfeed.icl.net!newsfeed.fjserv.net!news.tele.dk!news.tele.dk!small.news.tele.dk!ltu.se!luth.se!193.180.251.40.MISMATCH!erinews.ericsson.se!news.al.sw.ericsson.se!not-for-mail
From: Ulf Wiger <ulf.wi...@CUT-ericsson.com>
Newsgroups: comp.lang.functional
Subject: stress-testing erlang
Date: 14 Nov 2005 16:41:18 +0100
Organization: Ericsson AB
Lines: 28
Sender: etxuwig@ws12858
Message-ID: <xczhdaf8cf5.fsf@CUT-ericsson.com>
NNTP-Posting-Host: ws12858.uab.ericsson.se
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: news.al.sw.ericsson.se 1131982878 32314 134.138.234.23 (14 Nov 2005 15:41:18 GMT)
X-Complaints-To: abuse@ericsson.se
NNTP-Posting-Date: Mon, 14 Nov 2005 15:41:18 +0000 (UTC)
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1
Just thought I'd report some benchmarks running 64-bit
erlang on a 1.5 GHz SPARC with 16 GB RAM.
Running a simple ring benchmark, I was able to create
a ring of 20 million processes and pass a message around
the ring. Average time to spawn a process: 6.3 us;
average time to send & receive a message: 5.3 us.
It should be noted that to reach 20 million, I made all
processes in the ring "hibernate" while waiting for the
next message. This is an optimization in the runtime system
used to save memory in an idle process (a very agressive GC,
if you will.) This added slightly to the message-passing
cost. Otherwise, the cost of spawn and message passing
remains largely unaffected all the way.
(It goes without saying that there wasn't enough memory
left in the machine to actually do anything useful, but
I still found it gratifying that the runtime system scales
as well as it does.)
/Uffe
--
Ulf Wiger, Senior Specialist,
/ / / Architecture & Design of Carrier-Class Software
/ / / Team Leader, Software Characteristics
/ / / Ericsson AB, IMS Gateways