Skip to content

LRAbbade/web_frameworks_performance

Repository files navigation

Web Frameworks Performance

A comprehensive performance comparison of web frameworks.

This work intends to extend the findings of Abbade et al. on Performance Comparison of Programming Languages for Internet of Things Middleware, in which Python's Flask, Javascript's Express, and Java's Spring, were compared in an IoT Middleware scenario. In this work, the focus has been shifted to web applications. The following frameworks are tested (the source code for each API is in a folder with its name):

The main objective is to test different languages and frameworks, both sync and async, to understand:

  1. Are compiled programming languages really that much faster or does async make a bigger difference?
  2. How much of a difference can you get in the same language with different frameworks?

Every API is built in a Docker container, the overall configuration of the container is the same for every framework.

There's a general test suite written in Python on the folder tests/ to quickly test each API and assert it's working as expected, before proceeding to load tests. The tests will always reach for port 80, so you should route port 80 to your application port in Docker. To run it:

cd tests
pip install -r requirements.txt
python -m unittest

If you wish to contribute to this project, or believe a framework should be included, please consider forking this project or creating an issue, contributions are most welcomed.

About

A comprehensive performance comparison of web frameworks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published