Standard Mid 2014 MacBook Pro. i7 2.2Ghz, 16GB RAM, 256GB SSD.
| Framework | Requests/Sec | Average Latency |
|---|---|---|
| Warp | 102147 | 1.46 ms |
| Iris | 86856 | 1.69 ms |
| Gin - without Logger | 65341 | 2.29 ms |
| Plug - without Logger | 41210 | 9.31 ms |
| Gin | 29388 | 10.77 ms |
| Plug | 14918 | 11.83 ms |
| Express | 10118 | 14.60 ms |
| Vapor | 8196 | 18.42 ms |
| Zewo | 4948 | 31.02 ms |
| Flask + Tornado | 1805 | 81.79 ms |
| Sinatra | 974 | 203.71 ms |
| Bottle | 546 | 1.38ms |
| Kitura | 545 | 321.45 us |
| Flask | 544 | 74.15 ms |
| Falcon | 543 | 47.06 ms |
| Framework | Requests/Sec | Average Latency |
|---|---|---|
| Warp | 10217 | 14.60 ms |
| Gin | 3340 | 61.20 ms |
| Sinatra | 430 | 260.90 ms |
| Framework | Requests/Sec | Average Latency |
|---|---|---|
| Warp | 13255 | 11.14 ms |
| Gin | 3222 | 56.63 ms |
| Sinatra | 588 | 197.96 ms |
wrk -t4 -c150 -d30s http://localhost:PORT/path
If you want to add more frameworks or find a better or doing feel free to send a PR my way.
The current structure is as follow:
/helloreturns a simple "Hello, World!" message/fortunesreturns a rendered html with all the fortune cookie messages/fortunes.jsonreturns JSON with all the fortune cookie messages
You can find the schema for the fortunes table in database/fortunes.sql. All tests will use postgresql as the database.