Right after announcing Padrino, many developers began to request benchmarks in order give them a better understanding of how our framework compared in terms of performance with the existing ruby web frameworks.
Personally, no one on our team is a big fan of benchmarks since they can often be misleading and real world usage is generally quite different. However, we decided that providing a set of reasonable benchmarking results would help people get at least a general sense of Padrino’s speed in relation to other popular alternatives.
Within our benchmarks, we opted to test three different sample applications (three repo branches):
- text_render
-
a bare minimum app serves as a baseline simply rendering an inline string for the response.
- template_render
-
a simple app serving a small ‘view’ template for the response.
- more_advanced
-
‘full-stack’ app including sessions, haml, layouts, templates, and helpers.
The application frameworks tested in these benchmarks:
-
Rack 1.3.2 (site)
-
Padrino 0.10.2 (site)
-
Sinatra 1.2.6 (site)
-
Rails 3.1.0 (site)
-
Merb 1.1.3 (site)
-
Camping 2.1.0 (site)
-
Ramaze 2011.07.25 (site)
Our intention is for these benchmarks to include all ‘popular’ ruby framework alternatives. If you would like to add another framework, please fork this project and let us know!
We suggest to check more updated version on our wiki
- System
-
Darwin 11.2.0
- Processor
-
Intel Core 2 Duo 2.4 GHz
- Memory
-
4 GB
- Ruby
-
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
rack => 1193.26 rps camping => 897.41 rps sinatra => 603.23 rps padrino => 570.75 rps merb => 367.69 rps ramaze => 248.59 rps rails => 139.62 rps
The original source code for running these benchmarks is attributed to the oleganza repo. This fork was developed by DAddYE and Nathan Esquenazi for use in benchmarking Padrino. The code was heavily adapted and recent versions of each popular ruby web framework were included along with developing three different benchmark tests for additional accuracy.