* * * * *

                      Just gotta love stupid benchmarks

Obligatory Sidebar Links

* Stupid multithreaded benchmarks [1]
* More stupid multithreaded benchmarks [2]
* Obsessing over stupid benchmarks (and you thought my obsessing over a
 greylist daemon was bad … ) [3]
* Compression fever [4]
* A mass of stupid benchmarks. You have been warned. [5]


Because I like running stupid bench marks, I thought it might be fun to see
just how fast syslogintr [6] is—to see if it even gets close to handling
thousands of requests per second [7].

So, benchmarks.

All tests were run on my development system at Chez Boca: 1G (gigabyte) of
RAM (Random Access Memory), 2.6GHz (Gigahertz) dual core Pentium D (at least,
that's why my system is reporting). I tested syslogintr linked against Lua
[8] and against LuaJIT [9]. All were run with messages (after being
processed) being relayed to a multicast address (but one set without a
corresponding listener, and another set with a corresponding listener).

The script being tested was using.lua from the current version [10];
executable compiled without any optimizations.

And the results:

Table: Number of messages per second processed by syslogintr
       Lua     LuaJIT
------------------------------
no multicast listener   10,250  12,000
multicast listener      8,400   8,800

Not terribly shabby [11], given that the main logic is in a dynamic scripting
language. It would probably be faster if it skipped the relaying entirely and
compiled with heavy optimizations, but that's a test for another day.

Update a few minutes later …

I forgot to mention—those figures are for a non-threaded (that is, it only
runs on a single CPU (Central Processing Unit)) program. Going multithreaded
should improve those figures quite a bit.


[1] gopher://gopher.conman.org/0Phlog:2007/11/28.1
[2] gopher://gopher.conman.org/0Phlog:2007/11/29.1
[3] gopher://gopher.conman.org/0Phlog:2007/11/30.1
[4] gopher://gopher.conman.org/0Phlog:2008/04/01.2
[5] gopher://gopher.conman.org/0Phlog:2009/10/14.3
[6] https://github.com/spc476/syslogintr
[7] http://www.kegel.com/c10k.html
[8] http://www.lua.org/
[9] http://luajit.org/
[10] https://github.com/spc476/syslogintr/archive/refs/tags/v1.0.0.tar.gz
[11] http://prog21.dadgum.com/52.html

Email author at [email protected]