Benchmarking Starman vs. uWSGI with Catalyst and Dancer apps

After writing a simple PSGI application server benchmark I continued benchmarking with a bit more realistic workload than just the simplest possible “hello world” PSGI app. I run the same tests against two popular Perl web frameworks: Catalyst and Dancer. Both of them run on top of the PSGI stack. Please see my original PSGI server comparison for further details about the test setup.

Catalyst

I created the simplest possible Catalyst application:

catalyst.pl Hello

Here are the results of running the resulting application on top of both PSGI servers:

uWSGI vs. Starman with Catalyst (SVG graph)

We can see that the simple Catalyst application runs much slower than the simple PSGI “hello world” used in the previous benchmark. But it runs clearly faster with uWSGI than Starman.

Dancer

Creating a Dancer application was equally simple:

dancer -a Hello

There were no surprises with the benchmark results:

uWSGI vs. Starman with Dancer (SVG graph)

The Dancer “hello world” seems to be slightly faster than the Catalyst “hello world”. uWSGI outperformed Starman again.


  • Last time i checked (maybe a year ago) uWSGI didn’t support the streaming response interface in PSGI 1.1, and thus Catalyst application didn’t work correctly till you apply BufferedStreaming middleware. Maybe this has been fixed on either side – it’s nice if that’s been the case.