Web Framework Comparison Benchmark

Hi all,

For my final year project I have been comparing web frameworks to get
performance benchmarks that others can then use when deciding upon a web
framework. The idea is simple; first you build the same simple
applications
in another web framework and then use the tests that I provide. You then
compare your results against my benchmarks to help in making a decision
on
your chosen web framework. I started out with 3 web frameworks; Ruby on
Rails, Chicago Boss and Flask. I chose Rails because of its status as
the
go to web framework, Boss because of its fast growing popularity and
because of its Erlang implementation and finally Flask because it is
very
different to the first two in that it is a “bare bones” web
micro-framework. The findings are interesting and can be seen here:

Thanks for taking the time to read this and hopefully it might be of
some
benefit.

Darren Daly.

On 05/04/2015 14:00, Darren Daly wrote:

growing popularity and because of its Erlang implementation and finally

I think you should also consider including Laravel (PHP), Phoenix
(Elixir) and Luminus (Clojure).

gvim

I was under a time constraint with this project, but may consider doing
that in the future.

Hey, just as an FYI, you probably aren’t going to get anything out of
comparing these frameworks in anything but “production server mode”.

For Rails’s case at the very least, literally no one runs a web site on
WEBrick or Thin. Most configurations use Unicorn , Puma, or Passenger
and/or NGINX. You’ll probably get more mileage out of comparing the
different server options than development mode on Rails, which is
engineered to be the opposite of fast for ease of development.

For sake of completeness, as well, I would include the .conf files for
Apache that were used for the comparison. It’s not really telling a full
story unless we know configuration values - thread pooling/# of threads
can
tell a large part as to why these benchmarks are so different. Things
like

of persistent connections to the DB can also effect these numbers ( if

1000 threads are waiting on 5 connections, everyone is sad ), and should
probably also be up front.

I’m going to correct myself - there are some cases for using Thin.

On Wed, Apr 8, 2015 at 1:51 PM, Stewart M. [email protected]

Thanks for your feedback. I compared rails in development mode for
completeness sake. I also did production server tests using passenger in
the case of rails to which the results can be found on the blog post.
The .conf file can be found here:

Darren.

Sent from my iPhone