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 container -
jq
, processingdocker
metadata -
docker-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