pythonweb框架_评测哪个Web框架是最快的?

Which is the fastest?

68747470733a2f2f7472617669732d63692e636f6d2f7468652d62656e63686d61726b65722f7765622d6672616d65776f726b732e7376673f6272616e63683d6d617374657268747470733a2f2f6261646765732e6769747465722e696d2f77686963685f69735f7468655f666173746573742f4c6f6262792e737667

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 beetween languages, depending on use case

Learning languages, best practices, devops culture ...

Having fun

❤️

Requirements

Crystal as built-in tools are made in this language

Docker as frameworks are isolated into containers

⚠️ docker is used for development purpose, production results will be computed on DigitalOcean

⚠️

Usage

Install all dependencies

shards install

Build internal tools

shards build

Build containers

job is either a language (example : crystal) or a framework (example : router.cr)

bin/neph [job]

Start the benchmark ....

tools is a list of language / framework to challenge (example : ruby kemal amber go python)

bin/benchmarker [tools]

Results

Last update: 2018-10-10

OS: Linux (version: 4.16.11-100.fc26.x86_64, arch: x86_64)

CPU Cores: 8

Latency

Ranking (top 5)

1️⃣ nickel (rust)

2️⃣ rocket (rust)

3️⃣ iron (rust)

4️⃣ roda (ruby)

5️⃣ rack-routing (ruby)

Full table

Language (Runtime)

Framework (Middleware)

Average

50th percentile

90th percentile

99th percentile

99.9th percentile

Standard deviation

rust

nickel (0.10)

0.10 ms

0.09 ms

0.12 ms

0.37 ms

5.37 ms

111.00

rust

0.16 ms

0.12 ms

0.21 ms

1.08 ms

14.89 ms

258.33

rust

iron (0.6)

0.60 ms

0.46 ms

1.07 ms

3.42 ms

25.11 ms

661.33

ruby

roda (3.12)

2.49 ms

1.85 ms

4.74 ms

13.69 ms

96.57 ms

2945.33

ruby

3.51 ms

2.46 ms

7.44 ms

18.63 ms

112.41 ms

3910.67

ruby

6.08 ms

4.17 ms

13.94 ms

28.63 ms

90.26 ms

6124.67

ruby

flame (4.18)

5.83 ms

4.20 ms

12.91 ms

25.07 ms

73.11 ms

5397.67

rust

5.08 ms

4.45 ms

9.36 ms

15.77 ms

61.08 ms

3420.67

php

slim (3.11)

150.76 ms

4.63 ms

388.11 ms

2657.33 ms

6884.17 ms

511973.67

cpp

evhtp (1.2)

5.86 ms

4.96 ms

9.71 ms

21.25 ms

77.56 ms

4367.00

go

5.91 ms

5.03 ms

10.10 ms

18.78 ms

50.47 ms

3568.33

ruby

7.19 ms

5.06 ms

16.25 ms

31.77 ms

98.07 ms

6891.67

php

263.16 ms

5.75 ms

354.07 ms

4757.24 ms

6845.82 ms

884354.00

python

6.43 ms

5.77 ms

12.03 ms

19.75 ms

50.52 ms

4282.67

php

69.26 ms

5.88 ms

63.51 ms

1797.86 ms

6925.21 ms

423098.00

crystal

7.03 ms

6.16 ms

12.47 ms

21.12 ms

55.40 ms

4322.67

java

act (1.8)

8.10 ms

7.04 ms

12.52 ms

25.99 ms

162.41 ms

5598.67

ruby

rails (5.2)

27.85 ms

7.31 ms

88.26 ms

171.97 ms

346.83 ms

40438.33

scala

190.28 ms

8.29 ms

25.36 ms

4867.20 ms

7918.70 ms

816651.67

go

iris (10.7)

9.96 ms

8.80 ms

15.83 ms

30.31 ms

162.11 ms

5436.33

csharp

10.90 ms

9.02 ms

16.78 ms

36.85 ms

368.18 ms

12176.67

go

10.70 ms

9.27 ms

17.02 ms

33.91 ms

249.38 ms

8138.67

go

beego (1.10)

11.33 ms

9.73 ms

17.86 ms

34.05 ms

242.30 ms

8090.33

go

gin (1.3)

11.49 ms

9.87 ms

18.45 ms

34.38 ms

240.69 ms

7781.00

go

echo (3.3)

12.47 ms

10.64 ms

20.32 ms

39.14 ms

144.05 ms

7356.33

nim

mofuw (2.0)

32.45 ms

11.07 ms

96.86 ms

307.52 ms

509.79 ms

62835.67

node

rayo (1.2)

16.89 ms

11.74 ms

23.72 ms

125.33 ms

636.97 ms

31015.33

node

polka (0.5)

18.79 ms

12.08 ms

26.36 ms

173.17 ms

768.63 ms

39216.33

node

28.24 ms

16.11 ms

36.85 ms

349.16 ms

1089.70 ms

65135.33

node

koa (2.5)

26.16 ms

16.24 ms

37.35 ms

234.26 ms

1011.58 ms

52857.33

python

bottle (0.12)

20.77 ms

16.91 ms

36.54 ms

65.48 ms

303.88 ms

14669.33

swift

16.81 ms

16.94 ms

19.22 ms

22.23 ms

55.57 ms

2371.00

swift

vapor (3.0)

34.47 ms

17.31 ms

31.02 ms

645.52 ms

2230.82 ms

118088.33

scala

http4s (0.18)

26.73 ms

18.45 ms

35.51 ms

273.24 ms

1786.84 ms

75468.00

node

25.11 ms

19.26 ms

38.51 ms

93.21 ms

614.40 ms

26547.33

node

39.78 ms

22.52 ms

51.42 ms

565.43 ms

1488.64 ms

95150.00

swift

28.24 ms

28.27 ms

32.73 ms

38.21 ms

309.73 ms

7645.67

crystal

32.07 ms

31.79 ms

42.01 ms

50.82 ms

287.55 ms

8945.67

node

hapi (17.6)

65.18 ms

32.83 ms

68.59 ms

1031.34 ms

2081.26 ms

166595.33

crystal

kemal (0.24)

36.22 ms

32.96 ms

50.69 ms

60.18 ms

127.34 ms

8919.33

python

44.29 ms

38.90 ms

74.13 ms

125.16 ms

211.10 ms

23336.00

crystal

lucky (0.11)

39.22 ms

39.76 ms

44.25 ms

52.59 ms

364.13 ms

10314.33

python

flask (1.0)

48.41 ms

40.93 ms

75.52 ms

126.31 ms

526.16 ms

25075.00

crystal

amber (0.9)

38.76 ms

43.54 ms

48.14 ms

57.25 ms

216.86 ms

10681.00

python

sanic (0.8)

67.46 ms

61.92 ms

108.42 ms

176.50 ms

311.02 ms

32539.00

python

86.02 ms

63.40 ms

181.16 ms

242.73 ms

587.75 ms

53233.00

python

108.29 ms

103.71 ms

134.35 ms

227.44 ms

1096.39 ms

53344.67

python

quart (0.6)

121.29 ms

107.96 ms

202.43 ms

279.61 ms

409.56 ms

57111.00

Requests per seconds

Ranking (top 5)

1️⃣ (actix-web) (rust)

2️⃣ (evhtp) (cpp)

3️⃣ (vibora) (python)

4️⃣ (fasthttprouter) (go)

5️⃣ (spider-gazelle) (crystal)

Full table

Language (Runtime)

Framework (Middleware)

Requests / s

Throughput

rust

180423.33

205.19 MB

cpp

evhtp (1.2)

162571.33

157.89 MB

python

160044.00

181.74 MB

go

155972.00

250.14 MB

crystal

136271.67

145.58 MB

java

act (1.8)

134279.67

229.72 MB

rust

iron (0.6)

98004.67

123.32 MB

go

iris (10.7)

97472.33

132.68 MB

go

93179.67

125.11 MB

csharp

91244.00

148.64 MB

rust

nickel (0.10)

88162.00

175.31 MB

go

beego (1.10)

87972.00

118.79 MB

rust

86448.67

135.40 MB

go

gin (1.3)

86040.67

151.12 MB

go

echo (3.3)

79883.67

140.22 MB

nim

mofuw (2.0)

72842.33

127.92 MB

node

rayo (1.2)

71632.00

107.39 MB

node

polka (0.5)

68407.33

102.51 MB

php

67039.67

333.95 MB

scala

65707.00

141.09 MB

swift

58486.00

55.03 MB

php

57951.00

288.72 MB

php

slim (3.11)

54502.00

271.21 MB

node

51879.33

126.74 MB

python

bottle (0.12)

50270.33

123.88 MB

scala

http4s (0.18)

50181.33

88.02 MB

ruby

roda (3.12)

49845.33

47.63 MB

swift

vapor (3.0)

49759.67

85.03 MB

node

koa (2.5)

48976.33

103.74 MB

node

43485.00

76.14 MB

node

36915.33

90.46 MB

ruby

36097.00

20.87 MB

swift

34713.00

64.52 MB

crystal

30672.33

28.76 MB

crystal

kemal (0.24)

27245.00

44.40 MB

node

hapi (17.6)

27132.67

70.37 MB

crystal

lucky (0.11)

25417.00

31.29 MB

crystal

amber (0.9)

25358.33

36.74 MB

python

23185.00

52.60 MB

ruby

flame (4.18)

21873.00

12.64 MB

ruby

20962.00

158.84 MB

python

flask (1.0)

20607.67

50.83 MB

ruby

17703.67

46.04 MB

python

sanic (0.8)

14977.33

26.75 MB

python

12269.33

35.61 MB

python

9053.33

24.26 MB

python

quart (0.6)

8214.67

16.39 MB

ruby

rails (5.2)

4595.67

14.03 MB

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

Taichiro Suzuki - Author, maintainer

OvermindDL1 - Maintainer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值