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).
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
ruby
, all tools are made inruby
wrk
, results are collected usingwrk
postgresql
, results are stored inpostgresql
docker
, each implementation is implemented in an isolated containerjq
, processingdocker
metadatadocker-machine
if you are onmacos
- Setup
bundle install
bundle exec rake config
- Build
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
Please take a look at https://web-frameworks-benchmark.netlify.app/result