Benchmarks for Event-driven SJ Sessions

Section 5 of the paper presented preliminary performance results comparing a simple multithreaded SJ implementation of a simple SMTP server against an event-driven version, implemented using the new SJSelector API.

Using benchmarks extended from the above, the following graphs summarise the performance results for the latest version of SJ. See here for a full explanation of the extended benchmarks including the benchmark environment, source code and raw result data.


Micro Benchmarks: Java Threads vs. Java Events vs. SJ Threads vs. SJ Events

These benchmarks demonstrate that event-driven SJ session programs can achieve competitive performance against Java NIO.

a) Server Response Time: Message Size 100 Bytes, Session Lengths 1, 10, 100.
Server Response Time (mean).

Server Response Time (standard deviation).


b) Server Response Time: Message Size 1 KB, Session Lengths 1, 10, 100.

Server Response Time (mean).

Server Response Time (standard deviation).


Macro Benchmarks: Multithreaded vs. Event-driven SJ SMTP Servers

Throughput (mean).
Throughput (standard deviation).


See here for a full explanation of the extended benchmarks including the benchmark environment, source code and raw result data.


Back to the top or to the main page.