@@ -6,104 +6,106 @@ Each framework has to have two features; routing and parsing path parameters.
66## Result
77
88<!-- Result from here -->
9- Last update: 2018-03-15
9+ Last update: 2018-04-10
1010```
1111OS: Darwin (version: 17.3.0, arch: x86_64)
1212CPU Cores: 8
1313```
1414
1515### Ranking (Framework)
1616
17- 1 . [ nickel ] ( https://github.com/nickel-org/nickel.rs ) (rust )
18- 2 . [ japronto ] ( https://github.com/squeaky-pl/japronto ) (python )
19- 3 . [ iron ] ( https://github.com/iron/iron ) (rust )
20- 4 . [ router_cr ] ( https://github.com/tbrand/router.cr ) (crystal )
21- 5 . [ spider-gazelle ] ( https://github.com/spider-gazelle/spider-gazelle ) (crystal )
22- 6 . [ raze ] ( https://github.com/samueleaton/raze ) (crystal )
23- 7 . [ actix ] ( https://github.com/actix/actix-web ) (rust )
17+ 1 . [ router_cr ] ( https://github.com/tbrand/router.cr ) (crystal )
18+ 2 . [ iron ] ( https://github.com/iron/iron ) (rust )
19+ 3 . [ raze ] ( https://github.com/samueleaton/raze ) (crystal )
20+ 4 . [ nickel ] ( https://github.com/nickel-org/nickel.rs ) (rust )
21+ 5 . [ japronto ] ( https://github.com/squeaky-pl/japronto ) (python )
22+ 6 . [ actix ] ( https://github.com/actix/actix-web ) (rust )
23+ 7 . [ spider-gazelle ] ( https://github.com/spider-gazelle/spider-gazelle ) (crystal )
24248 . [ fasthttprouter] ( https://github.com/buaazp/fasthttprouter ) (go)
25- 9 . [ amber ] ( https://github.com/amberframework/amber ) (crystal )
25+ 9 . [ mofuw ] ( https://github.com/2vg/mofuw ) (nim )
262610 . [ lucky] ( https://github.com/luckyframework/lucky ) (crystal)
27- 11 . [ rocket ] ( https://github.com/SergioBenitez/Rocket ) (rust )
27+ 11 . [ amber ] ( https://github.com/amberframework/amber ) (crystal )
282812 . [ kemal] ( https://github.com/kemalcr/kemal ) (crystal)
29- 13 . [ clusterpolka] ( https://github.com/lukeed/polka ) (node)
30- 14 . [ iris] ( https://github.com/kataras/iris ) (go)
31- 15 . [ gorilla_mux] ( https://github.com/gorilla/mux ) (go)
32- 16 . [ echo] ( https://github.com/labstack/echo ) (go)
33- 17 . [ gin] ( https://github.com/gin-gonic/gin ) (go)
34- 18 . [ vapor] ( https://github.com/vapor/vapor ) (swift)
35- 19 . [ aspnetcore] ( https://github.com/aspnet/Home ) (csharp)
36- 20 . [ perfect] ( https://github.com/PerfectlySoft/Perfect ) (swift)
37- 21 . [ sanic] ( https://github.com/channelcat/sanic ) (python)
38- 22 . [ polka] ( https://github.com/lukeed/polka ) (node)
39- 23 . [ kitura] ( https://github.com/IBM-Swift/Kitura ) (swift)
40- 24 . [ clusterexpress] ( https://github.com/LearnBoost/cluster ) (node)
41- 25 . [ plug] ( https://github.com/elixir-lang/plug ) (elixir)
42- 26 . [ phoenix] ( https://github.com/phoenixframework/phoenix ) (elixir)
43- 27 . [ akkahttp] ( https://github.com/akka/akka-http ) (scala)
44- 28 . [ express] ( https://github.com/expressjs/express ) (node)
45- 29 . [ roda] ( https://github.com/jeremyevans/roda ) (ruby)
46- 30 . [ rack-routing] ( https://github.com/iAmPlus/rack-routing ) (ruby)
47- 31 . [ criollo] ( https://github.com/thecatalinstan/criollo ) (objc)
48- 32 . [ jester] ( https://github.com/dom96/jester ) (nim)
49- 33 . [ sinatra] ( https://github.com/sinatra/sinatra ) (ruby)
50- 34 . [ tornado] ( https://github.com/tornadoweb/tornado ) (python)
51- 35 . [ rails] ( https://github.com/rails/rails ) (ruby)
29+ 13 . [ rocket] ( https://github.com/SergioBenitez/Rocket ) (rust)
30+ 14 . [ clusterpolka] ( https://github.com/lukeed/polka ) (node)
31+ 15 . [ iris] ( https://github.com/kataras/iris ) (go)
32+ 16 . [ gorilla_mux] ( https://github.com/gorilla/mux ) (go)
33+ 17 . [ echo] ( https://github.com/labstack/echo ) (go)
34+ 18 . [ phoenix] ( https://github.com/phoenixframework/phoenix ) (elixir)
35+ 19 . [ gin] ( https://github.com/gin-gonic/gin ) (go)
36+ 20 . [ plug] ( https://github.com/elixir-lang/plug ) (elixir)
37+ 21 . [ aspnetcore] ( https://github.com/aspnet/Home ) (csharp)
38+ 22 . [ vapor] ( https://github.com/vapor/vapor ) (swift)
39+ 23 . [ sanic] ( https://github.com/channelcat/sanic ) (python)
40+ 24 . [ perfect] ( https://github.com/PerfectlySoft/Perfect ) (swift)
41+ 25 . [ kitura] ( https://github.com/IBM-Swift/Kitura ) (swift)
42+ 26 . [ jester] ( https://github.com/dom96/jester ) (nim)
43+ 27 . [ polka] ( https://github.com/lukeed/polka ) (node)
44+ 28 . [ clusterexpress] ( https://github.com/LearnBoost/cluster ) (node)
45+ 29 . [ akkahttp] ( https://github.com/akka/akka-http ) (scala)
46+ 30 . [ express] ( https://github.com/expressjs/express ) (node)
47+ 31 . [ roda] ( https://github.com/jeremyevans/roda ) (ruby)
48+ 32 . [ rack-routing] ( https://github.com/iAmPlus/rack-routing ) (ruby)
49+ 33 . [ criollo] ( https://github.com/thecatalinstan/criollo ) (objc)
50+ 34 . [ sinatra] ( https://github.com/sinatra/sinatra ) (ruby)
51+ 35 . [ tornado] ( https://github.com/tornadoweb/tornado ) (python)
52+ 36 . [ rails] ( https://github.com/rails/rails ) (ruby)
5253
5354### Ranking (Language)
5455
55- 1 . rust ([ nickel ] ( https://github.com/nickel-org/nickel.rs ) )
56- 2 . python ([ japronto ] ( https://github.com/squeaky-pl/japronto ) )
57- 3 . crystal ([ router_cr ] ( https://github.com/tbrand/router.cr ) )
56+ 1 . crystal ([ router_cr ] ( https://github.com/tbrand/router.cr ) )
57+ 2 . rust ([ iron ] ( https://github.com/iron/iron ) )
58+ 3 . python ([ japronto ] ( https://github.com/squeaky-pl/japronto ) )
58594 . go ([ fasthttprouter] ( https://github.com/buaazp/fasthttprouter ) )
59- 5 . node ([ clusterpolka ] ( https://github.com/lukeed/polka ) )
60- 6 . swift ([ vapor ] ( https://github.com/vapor/vapor ) )
61- 7 . csharp ([ aspnetcore ] ( https://github.com/aspnet/Home ) )
62- 8 . elixir ([ plug ] ( https://github.com/elixir-lang/plug ) )
63- 9 . scala ([ akkahttp ] ( https://github.com/akka/akka-http ) )
64- 10 . ruby ([ roda ] ( https://github.com/jeremyevans/roda ) )
65- 11 . objc ([ criollo ] ( https://github.com/thecatalinstan/criollo ) )
66- 12 . nim ([ jester ] ( https://github.com/dom96/jester ) )
60+ 5 . nim ([ mofuw ] ( https://github.com/2vg/mofuw ) )
61+ 6 . node ([ clusterpolka ] ( https://github.com/lukeed/polka ) )
62+ 7 . elixir ([ phoenix ] ( https://github.com/phoenixframework/phoenix ) )
63+ 8 . csharp ([ aspnetcore ] ( https://github.com/aspnet/Home ) )
64+ 9 . swift ([ vapor ] ( https://github.com/vapor/vapor ) )
65+ 10 . scala ([ akkahttp ] ( https://github.com/akka/akka-http ) )
66+ 11 . ruby ([ roda ] ( https://github.com/jeremyevans/roda ) )
67+ 12 . objc ([ criollo ] ( https://github.com/thecatalinstan/criollo ) )
6768
6869### All frameworks
6970
7071| Language (Runtime) | Framework (Middleware) | Max [ sec] | Min [ sec] | Ave [ sec] |
7172| ---------------------------| ---------------------------| -----------------| -----------------| -----------------|
72- | ruby | rails | 183.065177 | 182.594138 | 182.784460 |
73- | ruby | sinatra | 54.599611 | 54.235050 | 54.360554 |
74- | ruby | roda | 19.539005 | 19.362119 | 19.428262 |
75- | ruby | rack-routing | 24.912685 | 24.787798 | 24.857921 |
76- | crystal | kemal | 5.239213 | 4.743690 | 4.857822 |
77- | crystal | router_cr | 4.066965 | 3.929231 | 4.015780 |
78- | crystal | raze | 4.274440 | 3.952904 | 4.073834 |
79- | crystal | lucky | 4.407409 | 4.320964 | 4.377559 |
80- | crystal | amber | 4.422603 | 4.302611 | 4.371277 |
81- | crystal | spider-gazelle | 4.111804 | 3.961091 | 4.038874 |
82- | go | echo | 5.706486 | 5.195444 | 5.458082 |
83- | go | gorilla_mux | 5.688501 | 5.039164 | 5.442471 |
84- | go | iris | 5.540159 | 5.014120 | 5.355044 |
85- | go | fasthttprouter | 4.363762 | 4.202933 | 4.299051 |
86- | go | gin | 6.022577 | 5.461489 | 5.817580 |
87- | rust | actix | 4.239260 | 4.058780 | 4.103622 |
88- | rust | iron | 3.980654 | 3.918856 | 3.944900 |
89- | rust | nickel | 3.922851 | 3.836264 | 3.886912 |
90- | rust | rocket | 4.922653 | 4.449431 | 4.709064 |
91- | node | express | 15.727199 | 14.595424 | 14.948420 |
92- | node | clusterexpress | 10.672635 | 8.388129 | 9.267956 |
93- | node | polka | 8.788398 | 8.311747 | 8.478669 |
94- | node | clusterpolka | 5.425973 | 5.079739 | 5.266841 |
95- | elixir | plug | 10.217389 | 9.375499 | 9.780671 |
96- | elixir | phoenix | 10.176699 | 9.456586 | 10.015052 |
97- | swift | vapor | 6.805480 | 6.259005 | 6.561916 |
98- | swift | perfect | 7.729230 | 7.527969 | 7.624530 |
99- | swift | kitura | 9.018302 | 8.751379 | 8.857953 |
100- | scala | akkahttp | 11.285840 | 9.558254 | 10.281555 |
101- | csharp | aspnetcore | 7.064339 | 6.611566 | 6.810423 |
102- | python | sanic | 8.930118 | 7.300009 | 8.129179 |
103- | python | japronto | 4.255003 | 3.793259 | 3.926455 |
104- | python | tornado | 99.925639 | 98.832093 | 99.228150 |
105- | nim | jester | 35.604124 | 34.916220 | 35.241652 |
106- | objc | criollo | 32.341102 | 31.504481 | 31.896720 |
73+ | ruby | rails | 350.161733 | 349.403240 | 349.758695 |
74+ | ruby | sinatra | 100.885575 | 100.654648 | 100.776388 |
75+ | ruby | roda | 35.200353 | 34.684047 | 34.891702 |
76+ | ruby | rack-routing | 45.339112 | 44.963142 | 45.080912 |
77+ | crystal | kemal | 8.239321 | 7.847715 | 8.080067 |
78+ | crystal | router_cr | 6.643287 | 6.410330 | 6.555974 |
79+ | crystal | raze | 6.931865 | 6.664825 | 6.848396 |
80+ | crystal | lucky | 8.145836 | 7.735874 | 8.010866 |
81+ | crystal | amber | 8.090061 | 7.831198 | 8.011325 |
82+ | crystal | spider-gazelle | 7.240015 | 7.046256 | 7.192485 |
83+ | go | echo | 10.205904 | 9.653988 | 9.989534 |
84+ | go | gorilla_mux | 9.971818 | 9.486147 | 9.743084 |
85+ | go | iris | 9.732393 | 9.387682 | 9.565645 |
86+ | go | fasthttprouter | 7.592036 | 7.326633 | 7.452470 |
87+ | go | gin | 10.973279 | 10.560217 | 10.811344 |
88+ | rust | actix | 7.199203 | 6.997528 | 7.099141 |
89+ | rust | iron | 6.801253 | 6.679035 | 6.710507 |
90+ | rust | nickel | 6.936677 | 6.786194 | 6.876099 |
91+ | rust | rocket | 8.657137 | 8.349306 | 8.504091 |
92+ | node | express | 28.081658 | 26.611051 | 27.016107 |
93+ | node | clusterexpress | 17.409648 | 15.773684 | 16.309491 |
94+ | node | polka | 15.867429 | 15.066904 | 15.401819 |
95+ | node | clusterpolka | 9.363300 | 9.197916 | 9.309864 |
96+ | elixir | plug | 11.253845 | 10.597757 | 10.876218 |
97+ | elixir | phoenix | 11.220435 | 10.087917 | 10.668334 |
98+ | swift | vapor | 12.498265 | 12.178270 | 12.336104 |
99+ | swift | perfect | 12.900839 | 12.444516 | 12.684239 |
100+ | swift | kitura | 13.263198 | 12.493619 | 12.940476 |
101+ | scala | akkahttp | 18.595948 | 16.553332 | 17.078369 |
102+ | csharp | aspnetcore | 10.932268 | 10.829186 | 10.887798 |
103+ | python | sanic | 12.986084 | 11.706889 | 12.437696 |
104+ | python | japronto | 7.116580 | 7.002742 | 7.055527 |
105+ | python | tornado | 176.956387 | 176.746874 | 176.855119 |
106+ | nim | jester | 14.122242 | 14.050893 | 14.082330 |
107+ | nim | mofuw | 8.012292 | 7.701051 | 7.814884 |
108+ | objc | criollo | 57.233161 | 55.853540 | 56.561862 |
107109<!-- Result till here -->
108110
109111## Current target frameworks (middlewares)
@@ -153,8 +155,6 @@ CPU Cores: 8
153155 - [ mofuw] ( https://github.com/2vg/mofuw )
154156 - Objective-C
155157 - [ Criollo] ( https://criollo.io/ )
156- - C++/CPP
157- - [ evhtp] ( https://github.com/criticalstack/libevhtp )
158158
159159See Development section when you want to add new languages or frameworks.
160160
0 commit comments