Skip to content

Benchmarking microframeworks. [DEPRECATED] See luislavena/bench-micro

License

Notifications You must be signed in to change notification settings

patriciomacadden/microbenchmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

microbenchmarks

Benchmarking microframeworks.

Benchmarked microframeworks (in alfabetic order)

And of course, rack as the reference.

Platform

  • MacBook Air (Intel Core i5, 4GB RAM)
  • Thin web server
  • ab - Apache HTTP server benchmarking tool

Running the applications

There is a config.ru file in each directory with an application. Simply run:

$ bundle install
$ bundle exec rackup

Results

50 concurrent requests, 1_000 requests

$ ab -c 50 -n 1000 http://localhost:9292/
Microframework Request per second Time per request
Rack 1392.34 [#/sec] (mean) 35.911 [ms] (mean)
Cuba 1155.57 [#/sec] (mean) 43.269 [ms] (mean)
Hobbit 1376.90 [#/sec] (mean) 36.314 [ms] (mean)
Hobbit with routes 1134.86 [#/sec] (mean) 44.058 [ms] (mean)
Sinatra 782.92 [#/sec] (mean) 63.864 [ms] (mean)

50 concurrent requests, 10_000 requests

$ ab -c 50 -n 10000 http://localhost:9292/
Microframework Request per second Time per request
Rack 1508.23 [#/sec] (mean) 33.151 [ms] (mean)
Cuba 1159.09 [#/sec] (mean) 43.137 [ms] (mean)
Hobbit 1447.53 [#/sec] (mean) 34.542 [ms] (mean)
Hobbit with routes 1326.35 [#/sec] (mean) 37.697 [ms] (mean)
Sinatra 971.33 [#/sec] (mean) 51.476 [ms] (mean)

100 concurrent requests, 1_000 requests

$ ab -c 100 -n 1000 http://localhost:9292/
Microframework Request per second Time per request
Rack 1351.94 [#/sec] (mean) 73.968 [ms] (mean)
Cuba 1130.31 [#/sec] (mean) 88.472 [ms] (mean)
Hobbit 1325.77 [#/sec] (mean) 75.428 [ms] (mean)
Hobbit with routes 1249.96 [#/sec] (mean) 80.002 [ms] (mean)
Sinatra 895.68 [#/sec] (mean) 111.648 [ms] (mean)

100 concurrent requests, 10_000 requests

$ ab -c 100 -n 10000 http://localhost:9292/
Microframework Request per second Time per request
Rack 1491.28 [#/sec] (mean) 67.056 [ms] (mean)
Cuba 1168.82 [#/sec] (mean) 85.556 [ms] (mean)
Hobbit 1424.99 [#/sec] (mean) 70.176 [ms] (mean)
Hobbit with routes 624.10 [#/sec] (mean) 160.231 [ms] (mean)
Sinatra 960.74 [#/sec] (mean) 104.086 [ms] (mean)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

See the LICENSE.

About

Benchmarking microframeworks. [DEPRECATED] See luislavena/bench-micro

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages