Coder Social home page Coder Social logo

aboulmaaly / web-frameworks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from barryvdh/web-frameworks

0.0 0.0 0.0 92.6 MB

Which is the fastest web framework?

License: MIT License

Ruby 7.58% JavaScript 1.89% Crystal 3.99% Go 2.76% Rust 0.73% Elixir 1.45% Swift 1.01% Python 6.02% C# 0.97% Scala 0.76% Objective-C 0.55% Nim 0.93% CMake 4.25% C++ 1.41% Java 3.87% Lua 0.49% PHP 57.95% Dockerfile 2.52% C 0.72% Makefile 0.16%

web-frameworks's Introduction

Which is the fastest?

CI

Chat with US

This project aims to be a load benchmarking suite, no more, no less

Measuring response times (routing times) for each framework (middleware).

⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
Results are not production-ready yet
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️

Additional purposes :

  • Helping decide between languages, depending on use case
  • Learning languages, best practices, devops culture ...
  • Having fun ❤️

Requirements

  • Ruby as built-in tools are made in this language
  • Docker as frameworks are isolated into containers
  • wrk as benchmarking tool, >= 4.1.0
  • postgresql to store data, >= 10

ℹ️ℹ️ℹ️ℹ️ℹ️

⚠️ On OSX you need docker-machine to use docker containerization

brew install docker-machine
docker-machine create default
eval $(docker-machine env default)

ℹ️ℹ️ℹ️ℹ️ℹ️

Usage

... to be documented ...

feel free to create an issue if you want to try this project

Results

ℹ️ Updated on 2021-01-12 ℹ️

Benchmarking with wrk

  • Threads : 8
  • Timeout : 8
  • Duration : 15s (seconds)

ℹ️ Sorted by max req/s on concurrency 64 ℹ️

Language Framework Speed (64) Speed (256) Speed (512)
1 java (11) activej (3.0) 174 565.75 215 212.42 220 533.33
2 php (7.4) workerman (4.0) 149 474.56 182 197.29 184 381.58
3 php (7.4) mark (1.1) 123 303.60 135 644.48 136 855.47
4 go (1.15) fiber (2.3) 122 010.02 129 704.20 128 884.87
5 go (1.15) gearbox (1.1) 121 289.64 124 518.26 124 101.14
6 go (1.15) atreugo (11.6) 118 216.22 128 219.57 127 675.62
7 nim (1.4) httpbeast (0.2) 117 608.57 146 009.40 149 333.10
8 go (1.15) fasthttp (1.19) 116 552.92 129 788.59 130 066.37
9 go (1.15) gorouter-fasthttp (4.4) 116 238.66 128 879.43 127 957.80
10 go (1.15) router (1.3) 116 171.34 128 259.76 128 064.90
11 nim (1.4) whip (0.2) 114 055.92 142 111.15 144 922.77
12 go (1.15) webgo (4.1) 112 476.43 112 096.81 115 324.35
13 java (11) undertow (2.2) 111 986.69 136 832.04 139 167.96
14 javascript (14.15) nanoexpress (2.4) 110 559.15 142 186.32 145 380.54
15 java (11) jooby (2.9) 110 026.65 137 214.78 141 795.02
16 java (11) rapidoid (5.5) 109 920.25 134 886.85 137 359.38
17 kotlin (1.4) kooby (2.9) 109 325.38 135 888.02 140 650.55
18 javascript (14.15) sifrr (0.0) 108 493.71 138 407.47 140 971.89
19 go (1.15) gorilla-mux (1.8) 108 389.02 104 763.11 109 389.18
20 java (11) light-4j (2.0) 107 439.48 134 350.83 138 649.20
21 nim (1.4) jester (0.5) 103 960.08 129 315.23 132 733.83
22 crystal (0.35) spider-gazelle (3.4) 102 138.61 119 737.39 120 048.68
23 crystal (0.35) toro (0.4) 98 121.89 120 395.37 121 114.13
24 crystal (0.35) router.cr (0.2) 97 947.14 120 372.30 121 130.91
25 java (11) act (1.9) 95 577.52 117 531.67 119 823.99
26 php (7.4) nano (0.0.9) 95 295.76 139 958.45 152 046.32
27 crystal (0.35) grip (4.0) 93 904.70 113 931.75 112 728.52
28 crystal (0.35) kemal (0.27) 92 639.94 112 264.51 112 881.53
29 crystal (0.35) amber (0.35) 90 768.45 107 013.22 106 483.12
30 crystal (0.35) athena (0.12) 83 325.23 94 078.78 88 766.66
31 javascript (14.15) naturaljs-router (0.1.1) 83 151.04 97 354.61 99 932.09
32 scala (2.13) akkahttp (10.1) 81 661.98 96 607.59 94 342.06
33 go (1.15) gf (1.15) 81 449.26 88 932.24 91 674.66
34 go (1.15) rte (0.0) 81 212.61 82 065.19 84 199.10
35 go (1.15) clevergo (0.5) 80 897.20 82 008.15 83 863.05
36 go (1.15) echo (4.1) 79 973.66 81 081.43 83 128.18
37 go (1.15) httprouter (1.3) 79 804.71 80 475.18 82 649.97
38 go (1.15) gorouter (4.5) 78 525.28 82 948.41 84 212.09
39 go (1.15) chi (1.5) 78 035.93 77 448.37 79 889.45
40 go (1.15) gin (1.6) 78 020.97 81 801.80 83 442.40
41 go (1.15) violetear (7.0) 77 378.20 77 586.79 79 618.80
42 csharp (8.0) aspnetcore (5.0) 75 770.06 88 452.75 91 014.46
43 cpp (11) drogon (1.2) 75 615.09 73 257.03 76 630.03
44 go (1.15) aero (1.3) 75 147.73 74 618.90 76 890.70
45 fsharp (5.0) frank (6.2) 75 070.76 88 292.89 91 254.49
46 go (1.15) kami (2.2) 74 910.37 79 215.94 79 768.08
47 fsharp (5.0) falco (3.0) 74 328.91 86 717.89 89 461.59
48 php (7.4) simps (1.0) 74 237.07 115 427.51 129 030.08
49 go (1.15) goroute (0.0) 73 657.82 71 818.46 74 903.90
50 python (3.9) falcon (2.0) 73 378.87 81 092.93 82 463.23
51 javascript (14.15) low-http-server (2.1) 72 923.69 79 633.57 79 769.04
52 java (11) restheart (5.1) 72 210.81 72 038.53 66 562.03
53 go (1.15) beego (1.12) 71 735.71 74 788.65 76 623.65
54 go (1.15) air (0.21) 64 950.11 63 455.70 66 017.04
55 csharp (8.0) carter (5.2) 64 563.76 72 056.71 72 523.15
56 go (1.15) goyave (3.6) 62 946.27 62 781.70 65 482.78
57 fsharp (5.0) saturn (0.14) 62 219.61 68 005.62 67 334.50
58 javascript (14.15) polkadot (1.0) 61 972.58 67 894.81 68 626.77
59 java (11) spring (2.4) 60 057.03 63 485.78 64 028.32
60 javascript (14.15) 0http (3.0) 59 624.69 65 281.89 67 552.24
61 scala (2.13) finch (0.32) 59 524.15 66 134.61 66 094.63
62 c (11) agoo-c (0.7) 57 177.52 119 724.02 141 341.03
63 javascript (14.15) polka (0.5) 56 315.40 61 528.76 60 523.26
64 javascript (14.15) restana (4.7) 56 161.99 63 596.85 64 368.53
65 javascript (14.15) rayo (1.3) 55 601.01 60 789.91 59 236.72
66 javascript (14.15) fastify (3.7) 55 561.10 60 667.82 59 640.99
67 php (7.4) one (2.2) 55 448.32 66 725.65 70 912.36
68 ruby (2.7) agoo (2.14) 54 982.65 75 351.72 83 956.33
69 elixir (1.11) cowboy_stream (2.8) 54 231.86 57 463.89 55 333.83
70 javascript (14.15) muneem (2.4) 54 178.35 59 463.55 57 053.71
71 java (11) javalin (3.9) 53 593.32 57 549.60 57 478.44
72 python (3.9) pyramid (1.1) 53 204.25 58 217.38 58 619.60
73 kotlin (1.4) http4k (3.275) 52 491.38 60 984.45 63 139.53
74 swift (5.3) perfect (3.1) 51 978.74 57 226.16 64 415.18
75 kotlin (1.4) ktor (1.4) 51 031.47 66 382.89 68 915.04
76 fsharp (5.0) websharper (4.7) 50 635.48 57 209.90 57 663.86
77 rust (1.49) actix (3.3) 49 790.97 47 982.24 48 838.02
78 java (11) spark (2.9) 49 707.71 54 470.35 55 452.41
79 java (11) micronaut (1.2) 48 940.98 55 674.56 56 058.67
80 javascript (14.15) nestjs-fastify (7.6) 47 275.54 52 222.35 50 675.63
81 haskell (8.8) scotty (0.12) 46 304.07 49 978.90 51 570.65
82 go (1.15) mars (1.0) 46 208.21 46 625.75 49 623.08
83 python (3.9) asgineer (0.8) 45 449.20 51 357.27 51 938.19
84 javascript (14.15) foxify (0.1) 45 421.87 49 150.11 47 390.07
85 javascript (14.15) iotjs-express (0.0) 44 988.79 48 370.87 47 435.23
86 clojure (1.1) coast (1.0) 44 944.16 45 358.91 45 620.82
87 php (7.4) comet (0.8) 44 505.07 48 283.44 49 030.90
88 r (4.0) rserve (1.7) 43 606.65 31 036.06 33 630.35
89 python (3.9) bottle (0.12) 41 952.18 45 586.75 46 502.05
90 javascript (14.15) koa (2.13) 41 639.93 43 779.26 43 168.43
91 javascript (14.15) fyrejet-api (2.1) 37 306.84 39 863.93 39 405.58
92 elixir (1.11) cowboy (2.8) 36 320.45 37 258.71 37 741.66
93 swift (5.3) vapor (4.37) 35 861.91 37 575.40 37 317.92
94 python (3.9) emmett (2.1) 35 390.05 41 703.59 42 352.29
95 php (7.4) chubbyphp-workerman (3.3) 35 390.00 37 415.72 37 731.77
96 javascript (14.15) moleculer (0.14) 35 368.12 36 098.18 34 929.33
97 javascript (14.15) hapi (20.0) 34 874.05 35 235.93 34 640.59
98 swift (5.3) kitura (2.9) 34 338.14 34 718.30 34 997.24
99 swift (5.3) kitura-nio (2.9) 34 283.32 35 108.33 34 727.86
100 php (7.4) siler-swoole (1.7) 34 201.59 50 493.06 52 417.68
101 rust (1.49) nickel (0.11) 33 492.58 32 720.21 32 692.21
102 scala (2.13) http4s (0.21) 33 422.27 38 303.93 38 303.27
103 java (11) jersey-grizzly2 (2.33) 33 207.56 37 604.53 37 262.65
104 java (11) jersey3-grizzly2 (3) 33 083.14 38 055.34 37 478.78
105 python (3.9) hug (2.6) 32 735.46 35 723.52 53 636.86
106 rust (1.49) gotham (0.5) 31 664.51 35 456.97 36 524.16
107 dart (2.10) aqueduct (3.3) 31 248.13 30 596.16 30 552.46
108 python (3.9) sanic (20.12) 30 897.85 35 305.04 35 481.74
109 fsharp (5.0) suave (2.6) 30 885.95 28 569.77 25 066.82
110 python (3.9) apidaora (0.28) 30 501.90 35 019.03 35 580.94
111 javascript (14.15) fyrejet-uwebsockets (2.1) 30 476.85 31 959.06 32 402.16
112 rust (1.49) salvo (0.3) 30 305.14 32 478.24 32 962.32
113 php (7.4) imi (1.2) 29 159.10 31 598.34 33 103.88
114 csharp (8.0) simplify.web (4.2) 29 027.74 32 047.81 31 962.65
115 javascript (14.15) restify (8.5) 28 646.13 30 382.35 29 562.41
116 python (3.9) blacksheep (0.3) 28 241.25 33 550.29 34 467.36
117 javascript (14.15) fyrejet (2.1) 28 092.60 29 456.08 28 836.14
118 cpp (11) evhtp (1.2) 27 869.19 29 023.13 28 682.46
119 elixir (1.11) plug (1.11) 26 897.82 29 198.05 28 615.72
120 python (3.9) responder (2.0) 26 690.53 31 526.14 31 765.47
121 python (3.9) index.py (0.15) 25 429.61 30 246.64 30 448.12
122 crystal (0.35) orion (3.0) 24 750.27 25 430.91 23 285.43
123 python (3.9) starlette (0.14) 24 482.88 29 351.53 29 823.57
124 scala (2.13) play (2.8) 24 307.33 27 469.59 27 585.58
125 elixir (1.11) phoenix (1.5) 24 177.11 26 384.16 25 406.12
126 python (3.9) clastic (19.9) 23 691.56 28 512.20 28 280.70
127 haskell (8.8) servant (0.17) 23 186.31 21 442.61 20 706.90
128 clojure (1.1) luminus (3.91) 22 175.84 21 473.60 21 044.55
129 fsharp (5.0) giraffe (4.1) 22 085.93 22 119.21 21 778.01
130 crystal (0.35) shivneri (0.16) 21 672.15 20 691.03 18 088.44
131 nim (1.4) mike (0.5) 20 694.52 20 316.36 20 920.66
132 python (3.9) molten (1.0) 19 171.51 22 470.67 22 256.49
133 javascript (14.15) turbo_polka (0.3) 18 998.54 18 488.85 16 939.61
134 python (3.9) aiohttp (3.7) 18 205.57 23 941.37 23 729.57
135 nim (1.4) akane (0.1) 17 728.92 15 724.90 14 710.38
136 ruby (2.7) hanami-api (0.1) 17 361.93 16 775.20 16 323.45
137 php (7.4) swoft (2.0) 17 103.60 20 768.75 21 321.24
138 python (3.9) masonite (2.3) 16 730.36 20 236.12 20 140.37
139 ruby (2.7) syro (3.2) 16 630.94 16 032.91 15 808.93
140 rust (1.49) iron (0.6) 16 312.74 16 476.66 16 538.40
141 php (7.4) yii-swoole (2.0) 16 239.21 19 334.42 19 696.69
142 nim (1.4) rosencrantz (0.4) 16 058.39 14 310.63 13 178.84
143 ruby (2.7) roda (3.39) 15 873.86 15 376.33 15 114.60
144 php (7.4) chubbyphp-swoole (3.3) 15 836.84 18 447.00 19 051.87
145 python (3.9) fastapi (0.63) 15 615.88 19 871.35 19 937.64
146 javascript (14.15) feathersjs (4.5) 15 560.31 17 834.27 15 433.56
147 go (1.15) macaron (1.4) 15 436.31 16 898.52 16 908.94
148 ruby (2.7) cuba (3.9) 15 374.91 14 895.28 14 605.50
149 php (7.4) sw-fw-less (preview) 15 329.82 17 914.00 18 101.62
150 php (7.4) slim-swoole (4.7) 15 304.49 17 780.06 17 822.33
151 javascript (14.15) express (4.17) 15 258.10 17 935.50 18 098.38
152 swift (5.3) swifter (1.5) 14 330.49 14 840.02 21 933.98
153 ruby (2.7) rack-routing (0.0) 14 133.58 13 742.82 13 492.15
154 java (11) struts2 (2.5) 13 832.82 14 161.71 14 173.95
155 ruby (2.7) rack_app (7.7) 13 601.26 13 114.49 12 964.91
156 ruby (2.7) camping (2.1) 13 192.30 12 786.74 12 611.12
157 java (11) blade (2.0) 12 974.32 15 814.99 14 518.10
158 python (3.9) flask (1.1) 12 877.27 15 998.59 16 307.10
159 javascript (14.15) nestjs-express (7.6) 11 568.54 14 037.90 11 298.97
160 dart (2.10) start (0.4) 11 463.13 11 182.60 10 736.92
161 go (1.15) tango (0.6) 11 416.08 11 655.88 11 704.99
162 php (7.4) sunrise-router-roadrunner (2.5) 10 152.34 10 401.25 10 494.49
163 php (7.4) chubbyphp-roadrunner (3.3) 10 046.07 10 308.06 10 437.20
164 go (1.15) gramework (1.7) 9 767.86 9 963.34 9 944.11
165 php (7.4) slim-roadrunner (4.7) 9 724.11 9 895.35 10 040.32
166 php (7.4) spiral (2.7) 9 580.39 9 746.84 9 808.15
167 python (3.9) cherrypy (18.6) 9 263.11 9 216.43 9 097.26
168 ruby (2.7) sinatra (2.1) 9 117.62 8 849.86 8 815.09
169 ruby (2.7) grape (1.5) 8 688.31 8 421.53 8 330.51
170 python (3.9) guillotina (6.1) 8 384.92 8 314.69 7 973.24
171 python (3.9) quart (0.14) 7 547.84 7 130.20 6 831.64
172 pony (0.38) jennet (0.1) 7 495.70 13 610.00 12 690.05
173 php (7.4) phalcon (4.1) 6 793.56 6 743.46 6 668.21
174 php (7.4) siler (1.7) 6 647.40 6 565.52 6 488.58
175 php (7.4) basicphp (0.9) 6 609.44 6 536.17 6 414.41
176 php (7.4) fastsitephp (1.4) 6 427.77 6 333.42 6 216.55
177 python (3.9) tornado (6.1) 6 360.65 6 791.21 6 479.07
178 php (7.4) ice (1.5) 6 289.60 6 203.37 6 180.86
179 clojure (1.1) yada (1.2) 5 983.65 6 662.07 6 682.56
180 python (3.9) django (3.1) 5 807.21 5 798.11 5 802.97
181 ruby (2.7) flame (4.18) 5 751.98 5 652.27 5 655.33
182 php (7.4) ubiquity (2.3) 5 282.16 5 233.15 5 143.90
183 ruby (2.7) hanami (1.3) 5 252.23 5 201.14 5 212.32
184 python (3.9) tonberry (0.2) 5 046.75 4 949.61 4 615.63
185 php (7.4) one-fpm (2.2) 4 723.89 4 677.85 4 607.86
186 php (7.4) hamlet (3.2) 4 487.32 4 463.99 4 392.84
187 php (7.4) slim (4.7) 4 458.19 4 429.21 4 442.07
188 javascript (14.15) sails (1.4) 4 254.68 4 266.94 4 145.23
189 v (0.1) vape (0.3) 4 115.22 2 563.96 2 477.99
190 php (7.4) bearframework (1.3) 4 010.09 3 928.93 3 940.01
191 php (7.4) nette (3.1) 3 887.04 3 875.37 3 891.25
192 php (7.4) sunrise-router (2.5) 3 853.45 3 783.10 3 794.64
193 php (7.4) lumen (8.1) 3 853.04 3 858.63 3 878.46
194 julia (1.6) merly (0.2) 3 512.21 6 801.44 5 744.13
195 php (7.4) chubbyphp (3.3) 3 429.07 3 387.36 3 390.18
196 php (7.4) symfony (5.2) 2 979.67 2 989.54 3 000.69
197 ruby (2.7) rails (6.1) 2 826.37 2 801.23 2 810.61
198 php (7.4) yii (2.0) 2 634.53 2 619.67 2 636.06
199 php (7.4) sunrise-router-annotations (2.5) 2 316.40 2 316.42 2 332.20
200 ruby (2.7) pakyow (1.0) 2 056.60 2 439.87 2 418.59
201 r (4.0) httpuv (1.5) 1 930.97 1 850.25 1 775.87
202 r (4.0) restrserve (0.3) 1 884.10 1 832.96 1 850.29
203 php (7.4) mezzio (3.2) 1 875.12 1 876.33 1 889.35
204 crystal (0.35) runcobo (1.0) 1 742.71 1 751.54 1 779.37
205 python (3.9) cyclone (1.3) 1 664.10 1 641.78 1 624.40
206 php (7.4) laminas (3.2) 1 601.39 1 619.03 1 617.55
207 python (3.9) klein (20.6) 1 492.69 1 507.43 1 476.20
208 perl (5.32) dancer2 (0.3) 1 205.91 644.19 747.69
209 php (7.4) codeigniter4 (4.0) 1 107.60 1 129.13 1 127.47
210 python (3.9) nameko (2.13) 1 047.54 1 022.49 1 015.30
211 python (3.9) django-ninja (0.9) 909.49 1 626.93 1 665.68
212 r (4.0) plumber (1.0) 287.30 303.41 -93.04
213 cpp (11) nawa (0.6) 248.26 NaN NaN
214 php (7.4) laravel (7.27) 130.42 25.10 0.00

How to contribute ?

In any way you want ...

  • Request a framework addition
  • Report a bug (on any implementation)
  • Suggest an idea
  • ...

Any kind of idea is ❤️

Contributors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.