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:
/hello
returns a simple "Hello, World!" message/fortunes
returns a rendered html with all the fortune cookie messages/fortunes.json
returns 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.