Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/bnkamalesh/web-frameworks

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/bnkamalesh/web-frameworks

  • v1.2.7-0.20210212205830-b20781d29967
  • Source
  • Go
  • Socket score

Version published
Created
Source

Which is the fastest ?


Simple framework comparison

Test Chat with us License

Motivation

There are many frameworks, each one comes with its own advantages and drawbacks. The purpose of this project is to identify them and attempt to measure their differences (performance is only one metric).

What is a framework ?

A framework is a set of components working together. The main intention behind a framework is to facilitate (app or service) creation. The way a framework help any developer could vary from one to an other.

A majority of frameworks could be splitted in 2 parts :

  • full-stack meaning it provides all aspects (-stacks-) from data layer to sometimes deployment
  • micro meaning it provides only the routing part, and let the developer choose any other component for the others

Requirements

  • ruby, all tools are made in ruby
  • wrk, results are collected using wrk
  • postgresql, results are stored in postgresql
  • docker, each implementation is implemented in an isolated container
  • docker-machine if you are on macos

Usage

  • Setup
bundle install
bundle exec rake config
  • Build

:warning: On macos, you need to use docker-machine to allow docker usage for each framework :warning:

docker-machine rm default --force
docker-machine create default
eval $(docker-machine env default)
export FRAMEWORK=php/lumen
cd ${FRAMEWORK} 
make -f .Makefile build 
  • Run
make -f ${FRAMEWORK}/.Makefile collect

:warning: You need to be on the project main directory :warning:

Results (2021-02-09)

Technical details
  • CPU : 8 Cores (AMD FX-8320E Eight-Core Processor)
  • RAM : 16 Gb
  • OS : Fedora
  • Docker version 20.10.0-rc1, build 5cc2396
    
Datatable Computed with https://github.com/wg/wrk + Threads : 8 + Timeout : 8 + Duration : 15s (seconds)

:information_source: Sorted by max req/s on concurrency 64 :information_source:

LanguageFrameworkSpeed (64)Speed (256)Speed (512)
1java (11)activej (3.0)169 224.28209 243.46213 911.35
2php (7.4)webman (1.0)155 741.37166 588.74168 858.33
3php (7.4)workerman (4.0)144 207.54176 700.77178 762.36
4php (7.4)mark (1.1)121 431.72133 172.38134 660.53
5go (1.15)gearbox (1.1)118 645.46121 935.27121 944.54
6go (1.15)fiber (2.5)117 943.39128 742.68127 972.76
7nim (1.4)httpbeast (0.2)116 001.58142 858.47145 835.99
8c (11)kore (3.3)115 458.95187 527.34192 149.51
9go (1.15)atreugo (11.6)114 890.58126 343.02125 766.51
10go (1.15)fasthttp (1.2)114 234.80127 479.09127 484.93
11go (1.15)gorouter-fasthttp (4.4)113 864.19125 419.83124 453.84
12go (1.15)router (1.3)113 783.31126 939.13126 419.74
13nim (1.4)whip (0.2)112 100.24138 770.03141 768.22
14java (11)undertow (2.2)111 498.73135 608.50137 045.34
15go (1.15)webgo (4.1)111 073.60110 533.63113 553.45
16clojure (1.1)donkey (0.4)111 000.13113 426.14113 975.55
17javascript (14.15)nanoexpress (2.4)109 089.59139 823.66142 151.20
18java (11)rapidoid (5.5)108 174.27132 484.85134 686.17
19java (11)jooby (2.9)107 743.79134 556.35139 263.76
20kotlin (1.4)kooby (2.9)107 597.93133 446.80138 328.71
21go (1.15)gorilla-mux (1.8)107 567.29104 100.42108 419.57
22javascript (14.15)sifrr (0.0)107 122.64135 841.30138 090.95
23java (11)vertx (4.0)105 445.86125 110.33126 149.86
24java (11)light-4j (2.0)105 105.50130 597.89135 245.19
25nim (1.4)jester (0.5)104 835.10128 966.93132 268.30
26java (11)vertx4web (4.0)103 233.40122 064.30123 005.99
27crystal (0.35)toro (0.4)98 290.25119 839.67120 053.24
28crystal (0.35)router.cr (0.2)98 277.95117 968.89118 857.80
29crystal (0.35)spider-gazelle (3.4)97 035.20117 242.65117 449.52
30crystal (0.35)amber (0.35)94 784.60105 960.19105 507.55
31c (11)agoo-c (0.7)94 627.00125 792.88130 050.23
32php (7.4)nano (0.0.9)93 793.91137 818.99147 574.70
33php (7.4)swoole (4.6)93 763.86118 391.54133 952.05
34java (11)act (1.9)93 456.43114 324.26117 194.67
35crystal (0.35)grip (4.0)93 319.32110 908.86110 019.54
36crystal (0.35)kemal (0.27)91 221.11110 087.64110 574.55
37php (7.4)swoole-coroutine (4.6)88 411.48127 005.09136 663.74
38java (11)quarkus (1.11)85 960.75103 501.98105 765.79
39go (1.15)gf (1.15)82 070.3289 004.1991 527.83
40javascript (14.15)naturaljs-router (0.1.1)81 754.5496 487.8997 658.71
41crystal (0.35)athena (0.12)80 449.0892 300.9388 540.28
42go (1.15)rte (0.0)79 907.8180 716.6382 734.59
43go (1.15)echo (4.1)79 567.0380 719.9382 772.58
44go (1.15)httprouter (1.3)79 418.5580 302.9782 297.74
45php (7.4)simps (1.0)79 389.79102 689.14109 786.63
46go (1.15)clevergo (0.5)79 252.2580 724.2282 602.82
47go (1.15)gorouter (4.5)78 391.1382 560.1983 688.09
48scala (2.13)akkahttp (10.2)78 333.4992 079.6689 788.13
49go (1.15)gin (1.6)77 672.1181 521.9682 916.74
50go (1.15)violetear (7.0)76 281.1876 187.9078 230.75
51go (1.15)chi (1.5)76 258.2075 635.5577 975.48
52go (1.15)aero (1.3)74 376.5773 584.2375 996.34
53fsharp (5.0)falco (3.0)74 181.3886 726.2789 161.43
54go (1.15)kami (2.2)74 133.2878 045.9878 778.50
55python (3.9)falcon (2.0)73 565.7080 826.6382 553.94
56scala (2.13)finatra (21.1)73 272.7284 664.2885 080.46
57fsharp (5.0)frank (6.2)72 260.5683 470.0585 817.13
58csharp (8.0)aspnetcore (5.0)71 494.0782 423.2384 754.06
59cpp (11)drogon (1.3)71 376.7666 386.8364 652.48
60go (1.15)beego (1.12)71 119.0274 113.3975 928.82
61go (1.15)goroute (0.0)70 547.5567 145.3273 715.32
62javascript (14.15)low-http-server (2.1)68 971.1377 842.8678 520.16
63go (1.15)air (0.21)64 520.4263 066.6165 609.26
64csharp (8.0)carter (5.2)64 273.6971 262.0171 535.76
65go (1.15)goyave (3.6)62 329.5762 192.1764 993.74
66javascript (14.15)polkadot (1.0)61 189.9867 863.7769 228.89
67javascript (14.15)0http (3.0)60 778.2265 648.7766 593.17
68scala (2.13)finch (0.32)60 696.4667 541.3667 553.11
69java (11)spring (2.4)60 013.8762 736.7663 754.63
70fsharp (5.0)saturn (0.14)59 431.4363 656.6363 513.59
71javascript (14.15)polka (0.5)57 037.8862 096.5760 792.06
72javascript (14.15)restana (4.7)56 979.4562 696.3463 533.78
73javascript (14.15)rayo (1.3)55 551.5460 114.2258 958.55
74python (3.9)pyramid (1.1)54 956.3958 313.7158 834.13
75javascript (14.15)fastify (3.11)54 225.8459 336.9758 306.57
76elixir (1.11)cowboy_stream (2.8)53 824.3156 929.5855 413.54
77javascript (14.15)muneem (2.4)53 743.4258 205.8456 797.97
78rust (1.49)salvo (0.5)53 507.0357 253.6758 091.06
79kotlin (1.4)http4k (3.275)52 737.9161 120.0462 653.14
80php (7.4)one (2.2)52 135.2063 261.7966 853.25
81kotlin (1.4)ktor (1.4)51 888.1166 755.0069 310.19
82swift (5.3)perfect (3.1)51 652.5157 007.7063 921.37
83java (11)javalin (3.9)51 437.6954 665.2754 935.16
84php (7.4)hyperf (2.1)50 903.8962 787.8964 465.62
85ruby (2.7)agoo (2.14)50 094.2672 625.3180 712.21
86java (11)micronaut (1.2)49 303.4356 862.1056 998.18
87java (11)spark (2.9)49 261.4253 940.2554 758.47
88rust (1.49)actix (3.3)48 475.9249 573.8949 404.94
89fsharp (5.0)websharper (4.7)48 206.2253 848.7254 330.15
90javascript (14.15)nestjs-fastify (7.6)48 045.9951 598.1250 584.73
91go (1.15)mars (1.0)45 842.5846 146.3949 178.99
92haskell (8.8)scotty (0.12)45 509.9048 420.6050 549.36
93javascript (14.15)iotjs-express (0.0)45 444.2948 761.7047 701.83
94javascript (14.15)foxify (0.1)44 941.7848 676.5148 274.37
95python (3.9)asgineer (0.8)44 933.9551 138.5152 617.92
96clojure (1.1)coast (1.0)44 157.4745 109.8045 180.50
97php (7.4)comet (1.1)43 906.3047 692.1047 473.69
98r (4.0)rserve (1.7)42 702.4632 627.1131 681.52
99python (3.9)bottle (0.12)41 723.4146 049.3746 877.89
100javascript (14.15)koa (2.13)41 076.7443 998.1643 444.69
101python (3.9)emmett (2.1)37 330.5840 447.4741 533.68
102javascript (14.15)fyrejet-api (2.1)37 169.0639 230.7238 612.66
103elixir (1.11)cowboy (2.8)36 624.7537 589.9837 794.59
104swift (5.3)vapor (4.39)36 318.4737 653.9337 529.48
105java (11)restheart (5.3)35 632.1635 768.9635 903.80
106php (7.4)chubbyphp-workerman (3.4)35 174.9536 938.0437 490.30
107javascript (14.15)moleculer (0.14)35 014.0136 370.6535 436.20
108rust (1.49)nickel (0.11)34 664.3033 196.1134 881.22
109javascript (14.15)hapi (20.1)34 391.4235 566.8234 755.48
110java (11)jersey3-grizzly2 (3)33 955.5138 999.6338 279.09
111swift (5.3)kitura (2.9)33 927.3235 543.3836 036.80
112cpp (11)evhtp (1.2)33 640.4434 832.1633 692.47
113php (7.4)siler-swoole (1.7)33 561.0644 142.0947 507.46
114python (3.9)apidaora (0.28)33 551.7938 681.3738 803.51
115scala (2.13)http4s (0.21)33 409.7837 592.2437 802.68
116python (3.9)hug (2.6)33 239.6435 467.7553 110.19
117java (11)jersey-grizzly2 (2.33)33 060.0337 689.5837 180.15
118swift (5.3)kitura-nio (2.9)32 669.9633 132.0633 540.25
119fsharp (5.0)suave (2.6)32 035.7528 326.6525 172.29
120dart (2.10)aqueduct (3.3)31 599.3131 178.7731 186.68
121rust (1.49)gotham (0.5)31 377.4834 925.4436 239.62
122php (7.4)imi (1.2)29 912.3233 273.4134 558.55
123csharp (8.0)simplify.web (4.2)28 917.3831 938.0331 770.15
124javascript (14.15)restify (8.5)28 800.8030 922.5329 745.19
125python (3.9)blacksheep (0.3)28 692.1633 942.2634 137.30
126python (3.9)sanic (20.12)28 575.0832 696.2332 749.66
127php (7.4)yii-swoole (2.0)28 202.2031 281.0232 976.72
128scala (2.13)play (2.8)28 169.7729 940.2529 882.81
129python (3.9)starlette (0.14)28 137.0831 702.2532 739.27
130javascript (14.15)fyrejet-uwebsockets (2.1)27 644.4930 302.5930 764.13
131elixir (1.11)plug (1.11)27 198.6929 186.5228 828.74
132python (3.9)index.py (0.16)25 660.6529 163.1430 759.17
133python (3.9)clastic (19.9)24 470.5828 355.6127 804.14
134elixir (1.11)phoenix (1.5)24 324.2026 325.5625 666.59
135python (3.9)responder (2.0)24 247.9731 955.9431 329.97
136crystal (0.35)orion (3.0)24 166.8324 682.1622 734.63
137clojure (1.1)luminus (3.96)22 699.9622 450.0121 423.34
138haskell (8.8)servant (0.17)22 596.5421 391.9820 100.94
139fsharp (5.0)giraffe (4.1)22 264.8822 117.8421 882.77
140javascript (14.15)fyrejet (2.1)22 100.2123 976.0823 046.48
141crystal (0.35)shivneri (0.16)20 934.8920 285.6218 559.10
142nim (1.4)mike (0.5)20 827.7620 346.8020 463.14
143javascript (14.15)turbo_polka (0.3)18 450.0417 351.6616 858.55
144python (3.9)molten (1.0)18 370.1922 302.8122 224.59
145python (3.9)aiohttp (3.7)18 145.3022 565.0423 693.60
146python (3.9)fastapi (0.63)17 798.7421 811.3521 931.47
147nim (1.4)akane (0.1)17 383.9815 501.4614 395.71
148rust (1.49)iron (0.6)16 988.1316 584.8116 751.40
149ruby (2.7)hanami-api (0.1)16 913.9516 482.8516 026.13
150php (7.4)swoft (2.0)16 830.8219 997.2920 628.15
151ruby (2.7)syro (3.2)16 407.9616 096.9515 610.48
152javascript (14.15)express (4.17)15 822.6618 534.6218 064.39
153nim (1.4)rosencrantz (0.4)15 770.0214 028.5712 979.17
154php (7.4)chubbyphp-swoole (3.4)15 610.4218 236.9218 766.83
155ruby (2.7)roda (3.40)15 590.3215 361.3914 822.39
156php (7.4)sw-fw-less (preview)15 353.4717 629.3317 547.39
157go (1.15)macaron (1.4)15 341.0616 799.0916 813.47
158php (7.4)slim-swoole (4.7)15 214.4617 655.4417 777.40
159ruby (2.7)cuba (3.9)15 083.4514 864.3714 419.53
160javascript (14.15)feathersjs (4.5)14 692.6215 876.3017 416.88
161ruby (2.7)rack-routing (0.0)13 863.4313 595.0913 282.32
162java (11)struts2 (2.5)13 805.1714 139.4814 129.34
163swift (5.3)swifter (1.5)13 650.1014 575.6921 652.16
164ruby (2.7)rack_app (7.7)13 494.0113 073.4912 873.13
165python (3.9)flask (1.1)13 450.4117 782.9814 968.32
166java (11)blade (2.0)13 027.8315 727.3914 670.27
167ruby (2.7)camping (2.1)12 919.4312 571.3112 372.59
168javascript (14.15)nestjs-express (7.6)11 563.2213 510.0012 492.42
169go (1.15)tango (0.6)11 398.0011 664.2411 684.89
170dart (2.10)start (0.4)11 321.9211 079.4210 716.15
171php (7.4)chubbyphp-roadrunner (3.4)10 076.5310 340.1410 359.14
172python (3.9)cherrypy (18.6)10 014.9810 007.699 819.43
173go (1.15)gramework (1.7)9 922.9010 175.5310 081.16
174php (7.4)sunrise-router-roadrunner (2.6)9 916.7810 117.0810 102.74
175php (7.4)slim-roadrunner (4.7)9 743.289 997.5010 101.96
176php (7.4)spiral (2.7)9 627.369 741.119 733.36
177php (7.4)laravel-s-lumen (3.7)9 507.619 738.599 915.39
178python (3.9)guillotina (6.1)9 091.539 047.188 728.53
179ruby (2.7)sinatra (2.1)8 810.348 605.838 554.82
180ruby (2.7)grape (1.5)8 632.138 358.868 347.88
181pony (0.38)jennet (0.1)8 628.1413 534.3612 574.86
182python (3.9)quart (0.14)7 624.627 290.706 856.71
183python (3.9)tonberry (0.2)7 446.686 936.016 475.95
184php (7.4)basicphp (0.9)7 122.517 543.877 449.73
185php (7.4)phalcon (4.1)7 033.117 458.157 425.26
186php (7.4)fastsitephp (1.4)6 946.867 316.957 253.50
187php (7.4)siler (1.7)6 775.547 190.087 113.57
188php (7.4)laravel-s-laravel (3.7)6 466.976 369.146 376.08
189php (7.4)ice (1.5)6 399.746 679.696 694.91
190clojure (1.1)yada (1.2)6 082.666 857.556 853.80
191python (3.9)django (3.1)5 867.706 061.495 955.16
192php (7.4)ubiquity (2.3)5 849.656 012.305 967.06
193ruby (2.7)flame (4.18)5 663.995 556.625 592.79
194python (3.9)tornado (6.1)5 346.705 375.395 256.71
195php (7.4)one-fpm (2.2)5 153.755 279.195 269.26
196ruby (2.7)hanami (1.3)5 064.745 018.775 085.73
197php (7.4)fatfree (3.7)4 944.665 154.995 113.28
198php (7.4)hamlet (3.2)4 739.994 901.934 880.53
199php (7.4)cubex (4.15)4 482.914 612.994 645.97
200php (7.4)slim (4.7)4 364.454 542.834 528.68
201javascript (14.15)sails (1.4)4 230.864 232.554 177.01
202php (7.4)bearframework (1.3)4 116.244 244.594 289.49
203php (7.4)sunrise-router (2.6)3 873.643 950.473 964.94
204php (7.4)lumen (8.2)3 841.793 873.953 874.44
205php (7.4)nette (3.1)3 824.623 910.923 921.16
206julia (1.6)merly (1.0)3 748.016 306.463 944.49
207php (7.4)chubbyphp (3.4)3 422.443 518.263 527.32
208php (7.4)symfony (5.2)2 991.683 008.963 006.97
209php (7.4)sunrise-router-annotations (2.6)2 960.913 008.073 014.54
210ruby (2.7)rails (6.1)2 752.772 739.172 743.44
211php (7.4)yii (2.0)2 522.882 554.582 565.59
212python (3.9)masonite (3.0)2 519.862 490.972 497.46
213php (7.4)antidot (0.2)2 171.08670.731 183.06
214php (7.4)driftphp (0.1)1 945.44662.201 517.49
215r (4.0)restrserve (0.3)1 915.711 826.961 853.04
216r (4.0)httpuv (1.5)1 904.931 823.271 757.52
217php (7.4)mezzio (3.3)1 850.781 869.161 867.64
218crystal (0.35)runcobo (1.0)1 764.711 748.871 745.02
219php (7.4)laminas (3.2)1 717.041 735.601 736.40
220python (3.9)cyclone (1.3)1 590.181 588.781 579.44
221python (3.9)klein (20.6)1 572.181 597.461 568.59
222python (3.9)django-ninja (0.10)1 275.141 648.451 673.92
223python (3.9)nameko (2.13)1 216.561 166.551 151.60
224php (7.4)codeigniter4 (4.1)1 189.461 209.341 206.83
225php (7.4)laravel (8.26)991.88992.35991.98
226perl (5.32)dancer2 (0.3)673.05885.08359.23
227php (7.4)unic (1.0)502.47398.18137.28
228r (4.0)plumber (1.0)288.09301.53-93.46
229cpp (11)nawa (0.6)260.46NaNNaN

FAQs

Package last updated on 12 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc