Benchmark Web Frameworks

Usually, while developing web applications some (read - most) of us (developers) are confused as which framework to use -given today there are dozens of them.

Well, some of us decide on the basis of expertise of one has over the others but also need to take care of different aspects related to each. I too ran into this sort of problem but luckily, I had some time to play with a few frameworks before jumping on to a conclusion.

Since I am primarily a Python developer, I was inclined towards Python based framework and having experience developing apps in Django, thought I should test Falcon (another Python framework, known for speed)

I created a simple but exactly same structured API on each of the framework. The motive was to evaluate frameworks on the basis of their capability to handle load, nothing else as of now. I also tried to add an ORM linked to a common database but that would bring the db connector framework also in picture which will vary since they are not same. So, dumped the idea (for now).

The API is simple, a GET request which will fetch a JSON object consisting of attributes -name and age. Each API will return something like this :

{‘name’: ‘Raman’, ‘age’: 22}

The tool used for generating load — Apache JMeter, 100 threads in a loop of 100 iterations, or in short- 10⁴ API calls.

As far as my machine is concerned, I have an Intel i5–5200U with 8GB RAM and Nvidia GT730M graphics.

Here are the results:

Link to this repository : https://github.com/ramansah/benchmark

BTW, I didn’t expect Node to outperform…