Skip to content

the-benchmarker/web-frameworks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7,445 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Web framework benchmarks

Required tools

  • ruby, all tools are made in ruby

    sudo dnf install ruby
  • wrk - results are collected using wrk

    cd `mktemp -d` && git clone https://github.com/wg/wrk -b 4.2.0 . && make && sudo mv wrk /usr/bin/
  • postgresql - results are stored in postgresql

    sudo dnf install postgresql{,-server}

    Or you can start and configure a Postgres from docker via

    docker run -d -p 5432:5432 \
        --name postgres \
        -v /var/run/postgresql:/var/run/postgresql \
        -e POSTGRES_HOST_AUTH_METHOD=trust \
        -e POSTGRES_USER=postgres \
        -e POSTGRES_DB=benchmark \
        postgres:18-trixie
    docker exec -i postgres psql -U postgres -d benchmark < dump.sql
  • docker - each implementation is implemented in an isolated container

  • jq - processing docker metadata

  • docker-machine - required if you are on macOS

Usage

Setup

bundle install
bundle exec rake config

Build

⚠️ On macOS, you need to use docker-machine to allow docker usage for each framework ⚠️

docker-machine rm default --force
docker-machine create default
eval $(docker-machine env default)
export FRAMEWORK=php/lumen; make -f $FRAMEWORK/.Makefile build

Run

export FRAMEWORK=php/lumen; make -f $FRAMEWORK/.Makefile collect

⚠️ You need to be on the project main directory ⚠️

Contributing a new benchmark

Please see CONTRIBUTING.md.

Results

Please take a look at https://web-frameworks-benchmark.vercel.app/result

Packages

 
 
 

Contributors