Erlang process spawning performance

In Chapter 8 of Programming Erlang, there is a short example that performs a rough measurement of the time it takes to spawn a given number of processes.  Check the book if you want to see the code that genereates the test, but I just wanted to share the results from two different architectures.

I first ran the test on an Intel Core2 Duo @ 2.40 GHz, 1.0 GB RAM with Windows XP SP2.  I first spawned 5,000 processes, then 10,000 and finally 20,000.  The results are not bad on this machine.

4> processes:max(5000).
Maximum allowed processes:32768
Process spawn time=3.0 (3.2) microseconds

5> processes:max(10000).
Maximum allowed processes:32768
Process spawn time=4.7 (4.7) microseconds

6> processes:max(20000).
Maximum allowed processes:32768
Process spawn time=4.7 (4.7) microseconds

I then ran the same test on my Sun Blade 100 system.  The system runs Solaris 10 and the base architecture is a UltraSparc IIe processor with 512 MB of RAM.  The results are below.

2> processes:max(5000).
Maximum allowed processes:32768
Process spawn time=18.0 (28.2) microseconds

3> processes:max(10000).
Maximum allowed processes:32768
Process spawn time=18.0 (26.0) microseconds

4> processes:max(20000).
Maximum allowed processes:32768
Process spawn time=17.5 (25.75) microseconds

I was really impressed with performance.  Even though the Blade 100 is just a single CPU and it has half the memory, the performance was not bad at all compared with the Core 2 Duo.  

[sigh] One day I’d love to write heavy duty server software running on one of these beasts:

Sun Netra 1290

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.