{"id":16934831,"url":"https://github.com/wikimatze/padrino-benchmarks","last_synced_at":"2025-08-09T00:27:34.634Z","repository":{"id":141980706,"uuid":"93313371","full_name":"wikimatze/padrino-benchmarks","owner":"wikimatze","description":"The goal of this project is to measure the different components you can use with Padrino. Currently the different renderer and orms are benchmarked.","archived":false,"fork":false,"pushed_at":"2017-06-04T13:26:13.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-26T01:13:23.273Z","etag":null,"topics":["padrino","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wikimatze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-04T12:54:39.000Z","updated_at":"2020-04-03T08:25:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6347b7d-c169-4941-8f4a-1493068fe5db","html_url":"https://github.com/wikimatze/padrino-benchmarks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimatze%2Fpadrino-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimatze%2Fpadrino-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimatze%2Fpadrino-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wikimatze%2Fpadrino-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wikimatze","download_url":"https://codeload.github.com/wikimatze/padrino-benchmarks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244734825,"owners_count":20501139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["padrino","ruby"],"created_at":"2024-10-13T20:53:04.432Z","updated_at":"2025-03-21T04:23:22.330Z","avatar_url":"https://github.com/wikimatze.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Padrino Component Benchmarks\n\nThe goal of this project is to measure the different components you can use with Padrino.\nCurrently the different renderer and orms are benchmarked.\n\n\nFor benchmarking [Padrino version 0.14.1.1](https://github.com/padrino/padrino-framework/releases/tag/0.14.1.1)\nis used with [ruby 2.3.1p112](https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz), and [WEBrick 1.3.1](https://rubygems.org/gems/webrick/versions/1.3.1 \"WEBrick 1.3.1\"). The versions of the components are described in the headers.\n\n\n## Toc\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Overview Results](#overview-results)\n  - [Renderer](#renderer)\n  - [Orms](#orms)\n- [Detailed Results](#detailed-results)\n  - [Renderer](#renderer-1)\n    - [haml (5.0.1)](#haml-501)\n    - [erb (erubi 1.6.0)](#erb-erubi-160)\n    - [slim (3.0.8)](#slim-308)\n    - [liquid (4.0.0)](#liquid-400)\n  - [Orms](#orms-1)\n    - [Activerecord (5.1.1)](#activerecord-511)\n    - [Couchrest (1.1.0)](#couchrest-110)\n    - [Mongoid (6.1.0)](#mongoid-610)\n    - [Ohm (1.3.0)](#ohm-130)\n    - [Sequel (4.47.0)](#sequel-4470)\n\n## Installation\n\n```sh\n$ git clone https://github.com/padrino/benchmark.git\n```\n\n\nNow you need to run the `install` script withtin the repository which installs the dependencies.\n\nNext you need to install [wrk](https://github.com/wg/wrk \"wrk - a HTTP benchmarking tool\") - modern HTTP benchmarking tool:\n\n\n```sh\n$ git clone https://github.com/wg/wrk.git \u0026\u0026 cd wrk \u0026\u0026 make \u0026\u0026 sudo cp wrk /usr/local/bin\n```\n\n\n## Usage\n\n```sh\n$ ./benchmark renderer\n$ ./benchmark orms\n```\n\nPlease that you need to have\n[redis](https://redis.io/ \"redis\"), [Mongo-db](https://www.mongodb.com/ \"Mongo-db\"), [couchdb](http://couchdb.apache.org/ \"couchdb\")\ninstalled and running on your local machine when running `$ ./benchmark orms`\n\n\n## Configuration\n\nYou can change the duration, number of threads, and number of connection for the benchmark by changing the constant\nvalues (`BENCHMARK_THREADS`, `BENCHMARK_DURATION`, `BENCHMARK_CONNECTIONS`) in the `benchmark` file.\n\n\n## Overview Results\n\n\n### Renderer\n\nGeneration:\n\n```sh\n$ padrino g project \u003crender-name\u003e-app -e \u003crender-name\u003e\n$ padrino g controller render get:index\n```\n\n\nTemplate:\n\n```html\n\u003ch2\u003eHello\u003c/h2\u003e\n\u003cstrong\u003eworld\u003c/strong\u003e\n```\n\nThe template may vary depending on the used render method.\n\n\nHere are the results:\n\n\n#### 1 thread, 1 connection, 10 seconds\n\n| Render        | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------- | ------------- | -------------------| ------- | ------------\n| erubi (1.6.0) | 40.49ms       | 247                | 24.69   | 20.52KB\n| liquid (4.0.0)| 40.66ms       | 245                | 24.50   | 20.39KB\n| haml (5.0.1)  | 41.30ms       | 242                | 24.17   | 20.09KB\n| slim (3.0.8)  | 44.03ms       | 227                | 22.67   | 18.78KB\n\n\n#### 1 thread, 10 connection, 10 seconds\n\n| Orm           | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------- | ------------- | -------------------| ------- | ------------\n| erubi (1.6.0) | 42.47ms       | 2350               | 234.98  | 195.23KB\n| liquid (4.0.0)| 42.34ms       | 2358               | 235.80  | 195.97KB\n| haml (5.0.1)  | 44.78ms       | 2230               | 222.96  | 185.27KB\n| slim (3.0.8)  | 66.75ms       | 1504               | 149.85  | 123.90KB\n\n\n#### 1 thread, 100 connection, 10 seconds\n\n| Orm           | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------- | ------------- | -------------------| ------- | ------------\n| erubi (1.6.0) | 202.03ms      | 4940               | 493.62  | 409.65KB\n| liquid (4.0.0)| 260.33ms      | 3841               | 382.91  | 318.73KB\n| haml (5.0.1)  | 264.57ms      | 3788               | 378.55  | 378.55KB\n| slim (3.0.8)  | 479.58ms      | 2041               | 203.59  | 168.56KB\n\n\n#### 1 thread, 10000 connection, 10 seconds\n\n| Orm           | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------- | ------------- | -------------------| ------- | ------------\n| erubi (1.6.0) | 264.45ms      | 3730               | 370.98  | 308.48KB\n| haml (5.0.1)  | 299.76ms      | 3286               | 326.88  | 271.09KB\n| liquid (4.0.0)| 285.50ms      | 3448               | 343.26  | 285.46KB\n| slim (3.0.8)  | 364.22ms      | 2716               | 269.66  | 222.52KB\n\n\n### Orms\n\nGeneration:\n\n```sh\n$ padrino g project \u003corm-name\u003e-app -d \u003corm-name\u003e -a sqlite -e erb\n$ padrino g model post name:string text:string\n$ padrino g controller orm get:posts\n```\n\n\nController Action:\n\n```ruby\nget :posts, :map =\u003e '/' do\n  @post = Post.first # this may vary for the corresponding orm, e.g. Post[1] for ohm (redis)\n  render 'posts'\nend\n```\n\n\nTemplate:\n\n\n```erb\n\u003c%= @post.name %\u003e \u003c%= @post.text %\u003e\n```\n\n\nHere are the results:\n\n#### 1 thread, 1 connection, 10 seconds\n\n| Orm                 | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------------- | ------------- | -------------------| ------- | ------------\n| activerecord (5.1.1)| 41.82ms       | 241                | 23.86   | 23.86KB\n| couchrest (1.1.0)   | 44.02ms       | 227                | 22.67   | 18.30KB\n| mongoid (6.1.0)     | 41.82ms       | 241                | 23.86   | 19.23KB\n| ohm (1.3.0)         | 40.99ms       | 243                | 24.30   | 195.86KB\n| sequel (4.47.0)     | 40.87ms       | 244                | 24.39   | 196.90KB\n| mongomatic          | ???           | ???                | ???     | ???\n| ripple              | ???           | ???                | ???     | ???\n| dynamoid            | ???           | ???                | ???     | ???\n| datamapper          | ???           | ???                | ???     | ???\n\n\n#### 1 thread, 10 connection, 10 seconds\n\n| Orm                 | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------------- | ------------- | -------------------| ------- | ------------\n| activerecord (5.1.1)| 47.85ms       | 2089               | 208.58  | 168.22KB\n| couchrest (1.1.0)   | 50.45ms       | 1978               | 197.66  | 159.57KB\n| mongoid (6.1.0)     | 47.09ms       | 2121               | 211.91  | 170.86KB\n| ohm (1.3.0)         | 44.66ms       | 2235               | 223.43  | 179.90KB\n| sequel (4.47.0)     | 44.21ms       | 2259               | 225.85  | 182.23KB\n| mongomatic          | ???           | ???                | ???     | ???\n| ripple              | ???           | ???                | ???     | ???\n| dynamoid            | ???           | ???                | ???     | ???\n| datamapper          | ???           | ???                | ???     | ???\n\n\n#### 1 thread, 100 connection, 10 seconds\n\n| Orm                 | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------------- | ------------- | -------------------| ------- | ------------\n| activerecord (5.1.1)| 360.29ms      | 2761               | 275.82  | 222.28KB\n| couchrest (1.1.0)   | 426.91ms      | 2312               | 230.87  | 186.34KB\n| mongoid (6.1.0)     | 379.77ms      | 2602               | 259.80  | 209.44KB\n| ohm (1.3.0)         | 320.79ms      | 3119               | 311.62  | 251.01KB\n| sequel (4.47.0)     | 321.08ms      | 3275               | 327.28  | 263.19KB\n| mongomatic          | ???           | ???                | ???     | ???\n| ripple              | ???           | ???                | ???     | ???\n| dynamoid            | ???           | ???                | ???     | ???\n| datamapper          | ???           | ???                | ???     | ???\n\n\n#### 1 thread, 10000 connection, 10 seconds\n\n| Orm                 | Avg Latency   | Number of Requests | Req/Sec | Transfer/sec\n| ------------------- | ------------- | -------------------| ------- | ------------\n| activerecord (5.1.1)| 415.18ms      | 2359               | 235.08  | 189.49KB\n| couchrest (1.1.0)   | 424.09ms      | 2290               | 227.36  | 186.32KB\n| mongoid (6.1.0)     | 419.89ms      | 2330               | 231.50  | 187.24KB\n| ohm (1.3.0)         | 289.12ms      | 3407               | 339.31  | 274.58KB\n| sequel (4.47.0)     | 302.01ms      | 3245               | 323.34  | 260.51KB\n| mongomatic          | ???           | ???                | ???     | ???\n| ripple              | ???           | ???                | ???     | ???\n| dynamoid            | ???           | ???                | ???     | ???\n| datamapper          | ???           | ???                | ???     | ???\n\n\n\n## Detailed Results\n\n### Renderer\n\nGeneration:\n\n```sh\n$ padrino g project \u003crender-name\u003e-app -e \u003crender-name\u003e\n$ padrino g controller render get:index\n```\n\n\nTemplate:\n\n```html\n\u003ch2\u003eHello\u003c/h2\u003e\n\u003cstrong\u003eworld\u003c/strong\u003e\n```\n\nThe template may vary depending on the used render method.\n\n\n#### haml (5.0.1)\nTemplate:\n\n```haml\n%h2= \"Hello\"\n%strong= \"world\"\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    41.30ms    3.13ms  51.98ms   93.80%\n  Req/Sec    24.17      4.93    30.00     60.00%\n242 requests in 10.01s, 201.20KB read\nRequests/sec:     24.17\nTransfer/sec:     20.09KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    44.78ms    5.63ms 104.60ms   89.48%\n  Req/Sec   223.92     20.79   252.00     81.00%\n2230 requests in 10.00s, 1.81MB read\nRequests/sec:    222.96\nTransfer/sec:    185.27KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   264.57ms  117.88ms 962.94ms   76.73%\n  Req/Sec   380.39     94.92   575.00     72.00%\n3788 requests in 10.01s, 3.07MB read\nRequests/sec:    378.55\nTransfer/sec:    314.36KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   299.76ms  128.02ms 919.98ms   73.19%\n  Req/Sec   337.69     93.95   540.00     68.75%\n3286 requests in 10.05s, 2.66MB read\nSocket errors: connect 8980, read 0, write 0, timeout 0\nRequests/sec:    326.88\nTransfer/sec:    271.09KB\n```\n\n\n#### erb (erubi 1.6.0)\nTemplate:\n\n```erb\n\u003ch2\u003eHello\u003c/h2\u003e\n\u003cstrong\u003eworld\u003c/strong\u003e\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    40.49ms    2.42ms  47.91ms   85.02%\n  Req/Sec    24.70      5.02    30.00     53.00%\n247 requests in 10.00s, 205.34KB read\nRequests/sec:     24.69\nTransfer/sec:     20.52KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\n1 threads and 10 connections\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    42.47ms    3.65ms  74.93ms   88.81%\n  Req/Sec   235.99     18.56   262.00     85.00%\n2350 requests in 10.00s, 1.91MB read\nRequests/sec:    234.98\nTransfer/sec:    195.23KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   202.03ms   81.46ms 680.11ms   71.40%\n  Req/Sec   496.08     93.73   650.00     69.00%\n4940 requests in 10.01s, 4.00MB read\nRequests/sec:    493.62\nTransfer/sec:    409.65KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   264.45ms   85.66ms 879.83ms   75.36%\n  Req/Sec   374.46     95.26     0.95k    79.00%\n3730 requests in 10.05s, 3.03MB read\nSocket errors: connect 8980, read 0, write 0, timeout 0\nRequests/sec:    370.98\nTransfer/sec:    308.48KB\n```\n\n\n#### slim (3.0.8)\n\nTemplate:\n\n\n```slim\nh2 Hello\nstrong welt\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    44.03ms    1.72ms  48.28ms   95.59%\n  Req/Sec    22.68      4.45    30.00     73.00%\n227 requests in 10.02s, 188.11KB read\nRequests/sec:     22.67\nTransfer/sec:     18.78KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    66.75ms   18.28ms 179.99ms   67.04%\n  Req/Sec   150.44     27.93   210.00     70.00%\n1504 requests in 10.04s, 1.21MB read\nRequests/sec:    149.85\nTransfer/sec:    123.90KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   479.58ms  176.85ms   1.74s    71.73%\n  Req/Sec   204.44     81.66   676.00     85.00%\n2041 requests in 10.02s, 1.65MB read\nRequests/sec:    203.59\nTransfer/sec:    168.56KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   364.22ms  184.56ms   1.59s    78.57%\n  Req/Sec   276.92    113.09   690.00     68.37%\n2716 requests in 10.07s, 2.19MB read\nSocket errors: connect 8980, read 61, write 0, timeout 0\nRequests/sec:    269.66\nTransfer/sec:    222.52KB\n```\n\n\n#### liquid (4.0.0)\n\nTemplate:\n\n```html\n\u003ch2\u003eHello\u003c/h2\u003e\n\u003cstrong\u003eworld\u003c/strong\u003e\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    40.66ms    2.02ms  47.99ms   84.90%\n  Req/Sec    24.50      5.00    30.00     55.00%\n245 requests in 10.00s, 203.92KB read\nRequests/sec:     24.50\nTransfer/sec:     20.39KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    42.34ms    3.62ms  68.01ms   88.89%\n  Req/Sec   236.75     15.90   272.00     79.00%\n2358 requests in 10.00s, 1.91MB read\nRequests/sec:    235.80\nTransfer/sec:    195.97KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   260.33ms  111.10ms 899.40ms   69.30%\n  Req/Sec   384.86    138.18   650.00     66.00%\n3841 requests in 10.03s, 3.12MB read\nRequests/sec:    382.91\nTransfer/sec:    318.73KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   285.50ms  123.30ms   1.22s    69.34%\n  Req/Sec   345.69    139.27   690.00     65.00%\n3448 requests in 10.04s, 2.80MB read\nSocket errors: connect 8980, read 169, write 0, timeout 0\nRequests/sec:    343.26\nTransfer/sec:    285.46KB\n```\n\n\n### Orms\n\nGeneration:\n\n```sh\n$ padrino g project \u003corm-name\u003e-app -d \u003corm-name\u003e -a sqlite -e erb\n$ padrino g model post name:string text:string\n$ padrino g controller orm get:posts\n```\n\n\nController Action:\n\n\n```ruby\nget :posts, :map =\u003e '/' do\n  @post = Post.first # this may vary for the corresponding orm, e.g. Post[1] for ohm (redis)\n  render 'posts'\nend\n```\n\n\nTemplate:\n\n```erb\n\u003c%= @post.name %\u003e \u003c%= @post.text %\u003e\n```\n\n\n#### Activerecord (5.1.1)\n\nsqlite: 3.8.2\n\nDB setup:\n\n```sh\n$ padrino rake db:create\n$ padrino rake db:migrate\n$ echo \"Post.create(name: \\\"Hello\\\", text: \\\"world\\\")\" \u003e db/seeds.rb\n$ padrino rake db:seed\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    41.82ms    2.21ms  48.03ms   92.95%\n  Req/Sec    23.86      4.89    30.00     61.39%\n241 requests in 10.10s, 194.25KB read\nRequests/sec:     23.86\nTransfer/sec:     19.23KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    47.85ms    8.87ms 115.65ms   89.84%\n  Req/Sec   209.59     25.74   252.00     78.00%\n2089 requests in 10.02s, 1.65MB read\nRequests/sec:    208.58\nTransfer/sec:    168.22KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   360.29ms  103.06ms   1.11s    91.27%\n  Req/Sec   277.04     45.64   370.00     79.00%\n2761 requests in 10.01s, 2.17MB read\nRequests/sec:    275.82\nTransfer/sec:    222.28KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   415.18ms   31.69ms 632.82ms   82.45%\n  Req/Sec   240.10     31.65   290.00     70.41%\n2359 requests in 10.03s, 1.86MB read\nSocket errors: connect 8980, read 393, write 0, timeout 0\nRequests/sec:    235.08\nTransfer/sec:    189.49KB\n```\n\n\n#### Couchrest (1.1.0)\n\nOn couchdb 1.6.1\n\nDB setup:\n\n\n```sh\n$ echo \"Post.create(name: \\\"Hello\\\", text: \\\"world\\\")\" \u003e db/seeds.rb\n$ padrino rake db:seed\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    44.02ms    1.40ms  51.32ms   97.36%\n  Req/Sec    22.69      4.47    30.00     73.00%\n227 requests in 10.01s, 183.23KB read\nRequests/sec:     22.67\nTransfer/sec:     18.30KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    50.45ms    7.27ms 105.58ms   90.51%\n  Req/Sec   198.59     24.41   232.00     83.00%\n1978 requests in 10.01s, 1.56MB read\nRequests/sec:    197.66\nTransfer/sec:    159.57KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   426.91ms  175.77ms   1.31s    75.64%\n  Req/Sec   231.91    119.36     0.99k    78.00%\n2312 requests in 10.01s, 1.82MB read\nRequests/sec:    230.87\nTransfer/sec:    186.34KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   424.09ms  179.87ms   1.39s    76.24%\n  Req/Sec   235.72    128.51   525.00     66.67%\n2290 requests in 10.07s, 1.82MB read\nSocket errors: connect 8980, read 0, write 0, timeout 0\nRequests/sec:    227.36\nTransfer/sec:    185.32KB\n```\n\n\n#### Mongoid (6.1.0)\n\nMongo-db version v2.4.9\n\nDB setup:\n\n\n```sh\n$ echo \"Post.create(name: \\\"Hello\\\", text: \\\"world\\\")\" \u003e db/seeds.rb\n$ padrino rake db:seed\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    41.82ms    2.21ms  48.03ms   92.95%\n  Req/Sec    23.86      4.89    30.00     61.39%\n241 requests in 10.10s, 194.25KB read\nRequests/sec:     23.86\nTransfer/sec:     19.23KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    47.09ms    6.83ms 100.03ms   79.39%\n  Req/Sec   212.81     21.98   242.00     79.00%\n2121 requests in 10.01s, 1.67MB read\nRequests/sec:    211.91\nTransfer/sec:    170.86KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   379.77ms  157.88ms   1.58s    75.19%\n  Req/Sec   261.15    119.36   770.00     65.00%\n2602 requests in 10.02s, 2.05MB read\nRequests/sec:    259.80\nTransfer/sec:    209.44KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   419.89ms  203.47ms   1.70s    79.61%\n  Req/Sec   236.93    110.74   490.00     68.37%\n2330 requests in 10.06s, 1.84MB read\nSocket errors: connect 8980, read 58, write 0, timeout 0\nRequests/sec:    231.50\nTransfer/sec:    187.24KB\n```\n\n\n#### Ohm (1.3.0)\n\nredis v3.2.9\n\nDB setup:\n\n\n```sh\n$ echo \"Post.create(name: \\\"Hello\\\", text: \\\"world\\\")\" \u003e db/seeds.rb\n$ padrino rake db:seed\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    40.99ms    2.95ms  60.22ms   79.42%\n  Req/Sec    24.30      4.98    30.00     57.00%\n243 requests in 10.00s, 195.86KB read\nRequests/sec:     24.30\nTransfer/sec:     19.58KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    44.66ms    3.93ms  84.03ms   71.50%\n  Req/Sec   224.41     16.41   252.00     78.00%\n2235 requests in 10.00s, 1.76MB read\nRequests/sec:    223.43\nTransfer/sec:    179.90KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   320.79ms  132.31ms   1.19s    81.27%\n  Req/Sec   313.06     86.38   683.00     81.00%\n3119 requests in 10.01s, 2.45MB read\nRequests/sec:    311.62\nTransfer/sec:    251.01KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   289.12ms  118.02ms 999.96ms   72.32%\n  Req/Sec   342.14    126.94   616.00     69.00%\n3407 requests in 10.04s, 2.69MB read\nSocket errors: connect 8980, read 0, write 0, timeout 0\nRequests/sec:    339.31\nTransfer/sec:    274.58KB\n```\n\n\n#### Sequel (4.47.0)\n\nsqlite: 3.8.2\n\nDB setup:\n\n```sh\n$ echo \"Post.create(name: \\\"Hello\\\", text: \\\"world\\\")\" \u003e db/seeds.rb\n$ padrino rake sq:reset\n```\n\n\n**1 thread, 1 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    40.87ms    2.49ms  48.41ms   77.87%\n  Req/Sec    24.40      4.99    30.00     56.00%\n244 requests in 10.00s, 196.90KB read\nRequests/sec:     24.39\nTransfer/sec:     19.68KB\n```\n\n\n**1 thread, 10 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency    44.21ms    5.23ms 104.72ms   91.87%\n  Req/Sec   226.87     19.79   260.00     88.00%\n2259 requests in 10.00s, 1.78MB read\nRequests/sec:    225.85\nTransfer/sec:    182.23KB\n```\n\n\n**1 thread, 100 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   321.08ms  234.25ms   1.79s    66.12%\n  Req/Sec   328.79     58.77   450.00     75.00%\n3275 requests in 10.01s, 2.57MB read\nRequests/sec:    327.28\nTransfer/sec:    263.19KB\n```\n\n\n**1 thread, 10000 connection, 10 seconds**:\n\n\n```sh\nThread Stats   Avg      Stdev     Max   +/- Stdev\n  Latency   302.01ms  231.19ms   1.92s    71.12%\n  Req/Sec   328.97     49.46   420.00     75.76%\n3245 requests in 10.04s, 2.55MB read\nSocket errors: connect 8980, read 0, write 0, timeout 0\nRequests/sec:    323.34\nTransfer/sec:    260.51KB\n```\n\n\n#### mongomatic\n\n=\u003e seems too old (mongoid is working fine for mongo-db)\n\n\n#### ripple\n\n\nTBD (haven't a 64 bit system)\n\n\n#### dynamoid\n\n\nTBD (don't have a private aws account)\n\n\n\n#### Datamapper\n\n=\u003e is broken\n\n\n## Inspiration\n\n\u003chttps://github.com/allcentury/ruby-framework-benchmarks.git\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwikimatze%2Fpadrino-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwikimatze%2Fpadrino-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwikimatze%2Fpadrino-benchmarks/lists"}