Skip to content

Commit c890d04

Browse files
committed
update: 20180410
1 parent f1ec7cf commit c890d04

File tree

21 files changed

+394
-1020
lines changed

21 files changed

+394
-1020
lines changed

Makefile

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
all: cpp elixir node ruby crystal go rust swift python nim csharp scala client benchmarker
2-
3-
# --- C++/CPP ---
4-
cpp: evhtp
5-
6-
evhtp:
7-
cd cpp/evhtp && cmake -H. -B_builds -DCMAKE_BUILD_TYPE=Release && cmake --build _builds --config Release
8-
ln -s -f ../cpp/evhtp/_builds/server_cpp_evhtp bin/.
1+
all: elixir node ruby crystal go rust swift python nim csharp scala client benchmarker
92

103
# --- Elixir ---
114
elixir: plug phoenix

README.md

Lines changed: 81 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -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
```
1111
OS: Darwin (version: 17.3.0, arch: x86_64)
1212
CPU 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)
2424
8. [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)
2626
10. [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)
2828
12. [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))
5859
4. 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

159159
See Development section when you want to add new languages or frameworks.
160160

cpp/evhtp/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

cpp/evhtp/CMakeLists.txt

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)