BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Web Frameworks Benchmark 2015

Web Frameworks Benchmark 2015

Leia em Português

This item in japanese

Lire ce contenu en français

Bookmarks

We published in 2014 the results of TechEmpower’s benchmark of various web frameworks, a term including web platforms and micro-frameworks. A year later, they have published a new set of results outlining important changes in the performance of top 10 web frameworks. Challenged by this competition for the fastest web framework, a number of 133 contributors have submitted 2,835 git commits, some frameworks managing to considerably raise the number of responses per second (RPS), while other have seen modest improvements.

This year’s tests benchmarked ~125 web frameworks on two hardware configurations: Xeon E5 (same as last year), and Amazon C3.Large, a Xeon E5-2680 2-vCPU processor running on EC2 (last year it was M1.Large). All tests are executed on Linux. The benchmark performs different types of requests: a “Hello, World!” JSON text, a row from a database, multiple rows from a database, all rows from a databaseupdating data in a database, a “Hello, World!” plain text. There are important differences in how web frameworks react to these different types of tests. We present below the top 10 and a few other more known web frameworks for the JSON request.

image

(click on image to enlarge it)

Here are our observations:

  • This year’s best performing framework doubled the RPS of last year one’s on the same hardware, from 1.05M to 2.2M RPS.
  • The best performer is LWAN, a newcomer.
  • Top 10 frameworks are written in C, C++ or Java.
  • There are very important differences between the results on Dell Xeon E5 and C3.Large EC2. We expected better numbers on Dell Xeon but not 25 times better.
  • There are important changes in top 10 for the two hardware configurations.
  • The top framework on C3.Large EC2 is a relatively new and unknown framework called Ur/Web written in Ur, inspired by ML and Haskell and optimized for speed.
  • While some frameworks have made great progresses since last year, some have barely improved. While Go and Node.js were in top 10, now they are #19 and, respectively, #37.
  • Dart has made important progress from 54,896 to 243,999 RPS but it is still far behind on #33.

Those interested in improving the performance of their preferred framework are invited to contribute and submit pull requests. The Source Code and Requirements page provides detail on each type of test performed and other related information. Comparing the Performance of Various Web Frameworks provides more details on how testing is conducted and general observations about this benchmark.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • You should also check out the EC2 results.

    by Lari Hotari,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    There is a huge difference in the results on EC2. It's worth also taking a look at those. For example Multiple queries results on EC2

  • Wonder about the Dell/EC2 difference?

    by Alessandro Alinone,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    You said: "We expected better numbers on Dell Xeon but not 25 times better".
    Well, that Dell machine can run 40 threads simultaneously, while that EC2 machine can run only 2 threads simultaneously... You should have gone for a c3.8xlarge instance to get some fair results.

  • Plain Scala?

    by Tianhao Li,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    What is Plain framework written by Scala?
    No9 on EC2?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT