Skip to content

SimplifyNet/web-frameworks

This branch is 1 commit ahead of, 714 commits behind the-benchmarker/web-frameworks:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d1730e1 · Jun 6, 2024
Jan 29, 2024
May 22, 2023
Feb 26, 2024
Jan 29, 2024
Jun 5, 2024
May 20, 2024
Apr 22, 2024
Jun 6, 2024
Jun 3, 2024
May 28, 2024
May 20, 2024
Jan 29, 2024
Jun 3, 2024
Jan 29, 2024
Jun 5, 2024
May 27, 2024
Mar 9, 2024
May 23, 2024
Apr 22, 2024
May 14, 2024
Oct 31, 2023
Jan 29, 2024
Jun 3, 2024
Jun 3, 2024
May 28, 2024
May 14, 2024
Jun 3, 2024
May 30, 2024
May 28, 2024
Apr 3, 2021
Jun 3, 2024
Jan 6, 2021
Dec 1, 2020
Apr 17, 2024
Dec 3, 2023
Oct 31, 2023
Sep 18, 2018
Jun 29, 2018
Jan 23, 2024
Oct 10, 2018
Mar 11, 2022
May 28, 2024
May 6, 2024
Jun 3, 2024
Jun 3, 2024
May 22, 2023
Nov 4, 2020
Apr 15, 2021
Apr 15, 2021
Aug 14, 2023
May 23, 2023
Nov 13, 2023

Repository files navigation

Which is the fastest ?


Simple framework comparison



Build Status Chat with us License

Motivation

There are many frameworks, each one comes with its own advantages and drawbacks. The purpose of this project is to identify them and attempt to measure their differences (performance is only one metric).

What is a framework ?

A framework is a set of components working together. The main intention behind a framework is to facilitate (app or service) creation. The way a framework helps any developer may vary from one to another.

A majority of frameworks could be split in 2 parts :

  • full-stack meaning it provides all aspects (-stacks-) from data layer to sometimes deployment
  • micro meaning it provides only the routing part, and let the developer choose any other component for the others

Requirements

  • ruby, all tools are made in ruby
  • wrk, results are collected using wrk
  • postgresql, results are stored in postgresql
  • docker, each implementation is implemented in an isolated container
  • jq, processing docker metadata
  • docker-machine 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
cd ${FRAMEWORK} 
make -f .Makefile build 
  • Run
make -f ${FRAMEWORK}/.Makefile collect

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

Results

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

About

Which is the fastest web framework?

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 62.3%
  • Ruby 5.9%
  • Python 3.8%
  • TypeScript 3.5%
  • Java 3.2%
  • Dockerfile 2.3%
  • Other 19.0%