Just gotta love stupid benchmarks

Obligatory Sidebar Links

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] /boston/2007/11/28.1

[2] /boston/2007/11/29.1

[3] /boston/2007/11/30.1

[4] /boston/2008/04/01.2

[5] /boston/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

Gemini Mention this post

Contact the author