conqueror / benchmarks

A collection of benchmarks for popular web frameworks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Benchmark

A collection of benchmarks for popular web frameworks.

Usage

These benchmarks are powered by Docker, first make sure Docker is installed and running.

There are two separate parts to configuring this benchmark: hosting the frameworks and running the benchmarks. These tasks can be done on separate machines, and this is recommended if you are looking for the most accurate results.

Hosting the frameworks

Docker compose is used to host the frameworks.

docker-compose up -d

That command should build and boot up all of the frameworks. They all bind to an assigned port. You can check if they are running afterward by running:

docker ps

Running the benchmarks

The benchmarking package is written in Swift and uses wrk. It is also run using Docker. Use the Makefile to build this image.

make witf

After the image is built, you can run the benchmarks.

docker run witf .build/release/benchmarker wrk 10.132.47.133

Use -r to specify number of rounds per test (-r 2). Use --help to see other available flags.

docker run witf .build/release/benchmarker wrk --help

Contributing

Add your framework to /frameworks/<language>/<framework>. There should be a Dockerfile in the root of the project directory that builds and runs the framework in production mode.

You will need to choose an available port for your framework. In docker-compose.yml, add a rule to boot your framework and use the previous frameworks port + 1.

After you have added your framework to docker-compose.yml and tested that docker-compose up -d works, add your framework to benchmarker/frameworks.json.

About

A collection of benchmarks for popular web frameworks.


Languages

Language:Ruby 36.6%Language:Swift 23.8%Language:Elixir 19.7%Language:Python 9.7%Language:PHP 3.8%Language:Lua 2.8%Language:HTML 1.7%Language:Go 0.9%Language:JavaScript 0.7%Language:Shell 0.1%Language:Makefile 0.1%