Skip to content

Commit 9137bf3

Browse files
committed
Update benchmarks
1 parent 24150a0 commit 9137bf3

5 files changed

Lines changed: 182 additions & 177 deletions

File tree

benchmarks/README.md

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33

44

5-
Run at: Mon 01 Dec 2025, 16:13
6-
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.58 (CPUs: 16)
5+
Run at: Tue 07 Apr 2026, 11:25
6+
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.77 (CPUs: 16)
77
Python version: 3.13
8-
Granian version: 2.6.0
8+
Granian version: 2.7.3
99

1010
### Methodology
1111

@@ -27,10 +27,10 @@ RSGI plain text response comparison using protocol `response_str` and `response_
2727

2828
| Type | Total requests | RPS | avg latency | max latency |
2929
| --- | --- | --- | --- | --- |
30-
| bytes 10B (c64) | 1473133 | 147247 | 0.433ms | 36.05ms |
31-
| str 10B (c64) | 1487132 | 148650 | 0.429ms | 20.978ms |
32-
| bytes 100KB (c64) | 567227 | 56711 | 1.124ms | 43.169ms |
33-
| str 100KB (c64) | 588868 | 58876 | 1.084ms | 22.076ms |
30+
| bytes 10B (c64) | 1450961 | 145033 | 0.439ms | 25.405ms |
31+
| str 10B (c64) | 1480230 | 147959 | 0.43ms | 52.436ms |
32+
| bytes 100KB (c64) | 593398 | 59331 | 1.074ms | 52.242ms |
33+
| str 100KB (c64) | 594070 | 59394 | 1.073ms | 42.795ms |
3434

3535

3636
## Interfaces
@@ -41,15 +41,15 @@ The 1KB GET and POST tests are run with `--blocking-threads 1`.
4141

4242
| Request | Total requests | RPS | avg latency | max latency |
4343
| --- | --- | --- | --- | --- |
44-
| RSGI get 1KB (c128) | 1478812 | 147828 | 0.863ms | 46.558ms |
45-
| RSGI echo 1KB (c128) | 1192967 | 119250 | 1.069ms | 63.689ms |
46-
| RSGI echo 100KB (iter) (c64) | 176773 | 17680 | 3.607ms | 59.939ms |
47-
| ASGI get 1KB (c128) | 1210305 | 121000 | 1.053ms | 67.592ms |
48-
| ASGI echo 1KB (c128) | 778324 | 77817 | 1.639ms | 52.452ms |
49-
| ASGI echo 100KB (iter) (c64) | 196408 | 19642 | 3.245ms | 68.731ms |
50-
| WSGI get 1KB (c64) | 1462067 | 146147 | 0.436ms | 26.963ms |
51-
| WSGI echo 1KB (c64) | 1330240 | 132975 | 0.479ms | 40.363ms |
52-
| WSGI echo 100KB (iter) (c64) | 93828 | 9387 | 6.8ms | 52.449ms |
44+
| RSGI get 1KB (c128) | 1421433 | 142099 | 0.896ms | 87.046ms |
45+
| RSGI echo 1KB (c128) | 1246244 | 124588 | 1.022ms | 76.837ms |
46+
| RSGI echo 100KB (iter) (c64) | 171420 | 17143 | 3.723ms | 41.503ms |
47+
| ASGI get 1KB (c128) | 1393345 | 139302 | 0.916ms | 56.471ms |
48+
| ASGI echo 1KB (c128) | 1010462 | 101035 | 1.263ms | 57.267ms |
49+
| ASGI echo 100KB (iter) (c64) | 194048 | 19404 | 3.289ms | 44.404ms |
50+
| WSGI get 1KB (c64) | 1465008 | 146454 | 0.435ms | 30.114ms |
51+
| WSGI echo 1KB (c64) | 1361498 | 136094 | 0.468ms | 37.591ms |
52+
| WSGI echo 100KB (iter) (c64) | 109622 | 10966 | 5.824ms | 37.476ms |
5353

5454

5555
## HTTP/2
@@ -61,10 +61,10 @@ HTTP/2 tests are run with `--http 2`.
6161

6262
| Request | Total requests | RPS | avg latency | max latency |
6363
| --- | --- | --- | --- | --- |
64-
| HTTP/1 get 1KB (c128) | 2069053 | 206831 | 0.616ms | 57.395ms |
65-
| HTTP/1 echo 1KB (c128) | 1225556 | 122519 | 1.04ms | 66.926ms |
66-
| HTTP/2 get 1KB (c128) | 1853067 | 185274 | 2.748ms | 8.315ms |
67-
| HTTP/2 echo 1KB (c128) | 1138862 | 113864 | 4.467ms | 10.987ms |
64+
| HTTP/1 get 1KB (c128) | 2481531 | 248039 | 0.513ms | 71.339ms |
65+
| HTTP/1 echo 1KB (c128) | 1672558 | 167208 | 0.761ms | 66.556ms |
66+
| HTTP/2 get 1KB (c128) | 2045952 | 204531 | 2.483ms | 10.003ms |
67+
| HTTP/2 echo 1KB (c128) | 1483399 | 148302 | 3.421ms | 8.178ms |
6868

6969

7070
## File responses
@@ -76,13 +76,14 @@ Tests are run with `--runtime-blocking-threads 1`.
7676

7777
| Request | Total requests | RPS | avg latency | max latency |
7878
| --- | --- | --- | --- | --- |
79-
| RSGI (c128) | 494402 | 49439 | 2.578ms | 60.546ms |
80-
| ASGI (c128) | 288425 | 28847 | 4.425ms | 60.092ms |
81-
| ASGI pathsend (c128) | 471775 | 47174 | 2.7ms | 77.695ms |
79+
| RSGI (c128) | 483076 | 48308 | 2.642ms | 56.197ms |
80+
| ASGI (c128) | 378697 | 37874 | 3.366ms | 69.31ms |
81+
| ASGI pathsend (c128) | 477448 | 47741 | 2.672ms | 60.371ms |
8282

8383

8484
### Other benchmarks
8585

86+
- [Concurrency benchmarks](./concurrency.md)
8687
- [Versus 3rd party servers](./vs.md)
8788
- [AsyncIO-specific benchmarks](./asyncio.md)
8889
- [Python versions](./pyver.md)

benchmarks/asyncio.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
## AsyncIO-specific benchmarks
66

7-
Run at: Mon 01 Dec 2025, 17:06
8-
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.58 (CPUs: 16)
9-
Granian version: 2.6.0
7+
Run at: Tue 07 Apr 2026, 12:20
8+
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.77 (CPUs: 16)
9+
Granian version: 2.7.3
1010

1111
Same methodology of the main benchmarks applies.
1212

@@ -16,30 +16,30 @@ Comparison between different AsyncIO event loops on async protocols.
1616

1717
| Request | Total requests | RPS | avg latency | max latency |
1818
| --- | --- | --- | --- | --- |
19-
| ASGI asyncio get 10KB (c128) | 798947 | 79887 | 1.597ms | 50.779ms |
20-
| ASGI asyncio echo 10KB (iter) (c128) | 282059 | 28209 | 4.52ms | 76.216ms |
21-
| ASGI rloop get 10KB (c128) | 1126880 | 112668 | 1.132ms | 63.735ms |
22-
| ASGI rloop echo 10KB (iter) (c128) | 512066 | 51202 | 2.492ms | 64.075ms |
23-
| ASGI uvloop get 10KB (c128) | 1127010 | 112673 | 1.131ms | 67.682ms |
24-
| ASGI uvloop echo 10KB (iter) (c128) | 491635 | 49161 | 2.596ms | 58.79ms |
25-
| RSGI asyncio get 10KB (c128) | 698196 | 69809 | 1.826ms | 74.661ms |
26-
| RSGI asyncio echo 10KB (iter) (c128) | 272222 | 27228 | 4.684ms | 78.821ms |
27-
| RSGI rloop get 10KB (c128) | 1256230 | 125585 | 1.014ms | 64.507ms |
28-
| RSGI rloop echo 10KB (iter) (c128) | 547389 | 54734 | 2.326ms | 79.813ms |
29-
| RSGI uvloop get 10KB (c128) | 1273363 | 127284 | 1.0ms | 77.455ms |
30-
| RSGI uvloop echo 10KB (iter) (c128) | 539826 | 53980 | 2.362ms | 74.647ms |
19+
| ASGI asyncio get 10KB (c128) | 916141 | 91607 | 1.392ms | 60.019ms |
20+
| ASGI asyncio echo 10KB (iter) (c128) | 324790 | 32480 | 3.93ms | 49.462ms |
21+
| ASGI rloop get 10KB (c128) | 1265080 | 126478 | 1.006ms | 92.91ms |
22+
| ASGI rloop echo 10KB (iter) (c128) | 599838 | 59977 | 2.121ms | 111.599ms |
23+
| ASGI uvloop get 10KB (c128) | 1276294 | 127606 | 0.999ms | 66.676ms |
24+
| ASGI uvloop echo 10KB (iter) (c128) | 580238 | 58017 | 2.196ms | 73.357ms |
25+
| RSGI asyncio get 10KB (c128) | 917394 | 91717 | 1.39ms | 56.99ms |
26+
| RSGI asyncio echo 10KB (iter) (c128) | 327962 | 32798 | 3.877ms | 104.665ms |
27+
| RSGI rloop get 10KB (c128) | 1250090 | 124962 | 1.02ms | 63.182ms |
28+
| RSGI rloop echo 10KB (iter) (c128) | 541253 | 54121 | 2.357ms | 67.289ms |
29+
| RSGI uvloop get 10KB (c128) | 1267614 | 126725 | 1.006ms | 45.78ms |
30+
| RSGI uvloop echo 10KB (iter) (c128) | 541945 | 54190 | 2.355ms | 55.857ms |
3131

3232
### Task implementation
3333

3434
Comparison between Granian Rust AsyncIO task implementation and stdlib one on ASGI protocol.
3535

3636
| Python version | Request | Total requests | RPS | avg latency | max latency |
3737
| --- | --- | --- | --- | --- | --- |
38-
| 3.10 | asyncio get 10KB (c128) | 779907 | 77983 | 1.634ms | 68.703ms |
39-
| 3.10 | asyncio echo 10KB (iter) (c128) | 292140 | 29217 | 4.369ms | 53.618ms |
40-
| 3.10 | rust get 10KB (c128) | 962715 | 96251 | 1.324ms | 70.611ms |
41-
| 3.10 | rust echo 10KB (iter) (c128) | 266362 | 26639 | 4.793ms | 302.092ms |
42-
| 3.11 | asyncio get 10KB (c128) | 910211 | 91004 | 1.401ms | 47.926ms |
43-
| 3.11 | asyncio echo 10KB (iter) (c128) | 315655 | 31568 | 4.04ms | 67.683ms |
44-
| 3.11 | rust get 10KB (c128) | 1038961 | 103879 | 1.226ms | 76.857ms |
45-
| 3.11 | rust echo 10KB (iter) (c128) | 281381 | 28142 | 4.535ms | 288.862ms |
38+
| 3.10 | asyncio get 10KB (c128) | 750823 | 75076 | 1.699ms | 49.305ms |
39+
| 3.10 | asyncio echo 10KB (iter) (c128) | 279598 | 27963 | 4.561ms | 66.24ms |
40+
| 3.10 | rust get 10KB (c128) | 908628 | 90848 | 1.404ms | 50.247ms |
41+
| 3.10 | rust echo 10KB (iter) (c128) | 251689 | 25174 | 5.069ms | 314.779ms |
42+
| 3.11 | asyncio get 10KB (c128) | 892728 | 89262 | 1.426ms | 86.476ms |
43+
| 3.11 | asyncio echo 10KB (iter) (c128) | 306329 | 30635 | 4.166ms | 57.031ms |
44+
| 3.11 | rust get 10KB (c128) | 1006687 | 100650 | 1.267ms | 50.449ms |
45+
| 3.11 | rust echo 10KB (iter) (c128) | 269469 | 26950 | 4.735ms | 304.001ms |

benchmarks/concurrency.md

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
## Concurrency
66

7-
Run at: Mon 01 Dec 2025, 17:15
8-
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.58 (CPUs: 16)
7+
Run at: Tue 07 Apr 2026, 12:28
8+
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.77 (CPUs: 16)
99
Python version: 3.13
10-
Granian version: 2.6.0
10+
Granian version: 2.7.3
1111

1212
Same methodology of the main benchmarks applies.
1313

@@ -17,35 +17,35 @@ The benchmark consists of an HTTP GET request returning a 1KB plain-text respons
1717

1818
| Interface | Workers | Concurrency | Total requests | RPS | avg latency | max latency |
1919
| --- | --- | --- | --- | --- | --- | --- |
20-
| ASGI | 1 | 128 | 1196547 | 119623 | 1.066ms | 56.137ms |
21-
| ASGI | 2 | 256 | 1875440 | 187468 | 1.358ms | 95.707ms |
22-
| ASGI | 4 | 512 | 2883397 | 288213 | 1.764ms | 104.069ms |
23-
| RSGI | 1 | 128 | 1476829 | 147647 | 0.863ms | 50.726ms |
24-
| RSGI | 2 | 256 | 2540977 | 253951 | 1.001ms | 84.226ms |
25-
| RSGI | 4 | 512 | 3777805 | 377549 | 1.345ms | 120.704ms |
26-
| WSGI | 1 | 128 | 1427206 | 142682 | 0.893ms | 53.685ms |
27-
| WSGI | 2 | 256 | 2390255 | 238898 | 1.065ms | 92.968ms |
28-
| WSGI | 4 | 512 | 3737615 | 373516 | 1.359ms | 119.637ms |
20+
| ASGI | 1 | 128 | 1406942 | 140662 | 0.906ms | 73.794ms |
21+
| ASGI | 2 | 256 | 2202674 | 220196 | 1.156ms | 106.876ms |
22+
| ASGI | 4 | 512 | 3585320 | 358413 | 1.414ms | 125.788ms |
23+
| RSGI | 1 | 128 | 1443986 | 144364 | 0.883ms | 48.233ms |
24+
| RSGI | 2 | 256 | 2517139 | 251591 | 1.011ms | 86.788ms |
25+
| RSGI | 4 | 512 | 3856274 | 385396 | 1.316ms | 124.762ms |
26+
| WSGI | 1 | 128 | 1430459 | 143007 | 0.89ms | 69.824ms |
27+
| WSGI | 2 | 256 | 2765506 | 276443 | 0.92ms | 79.723ms |
28+
| WSGI | 4 | 512 | 3937616 | 393561 | 1.288ms | 130.683ms |
2929

3030
### Runtime threads
3131

3232
| Interface | Mode | Threads | Total requests | RPS | avg latency | max latency |
3333
| --- | --- | --- | --- | --- | --- | --- |
34-
| ASGI | ST | 1 | 1229064 | 122878 | 2.069ms | 104.99ms |
35-
| ASGI | MT | 1 | 1279139 | 127876 | 1.988ms | 107.788ms |
36-
| ASGI | ST | 2 | 951067 | 95096 | 2.677ms | 97.518ms |
37-
| ASGI | MT | 2 | 1292021 | 129176 | 1.969ms | 111.181ms |
38-
| ASGI | ST | 4 | 980020 | 97970 | 2.598ms | 102.125ms |
39-
| ASGI | MT | 4 | 1103859 | 110349 | 2.306ms | 92.982ms |
40-
| RSGI | ST | 1 | 1459212 | 145895 | 1.744ms | 83.974ms |
41-
| RSGI | MT | 1 | 1456940 | 145661 | 1.75ms | 79.875ms |
42-
| RSGI | ST | 2 | 1563374 | 156313 | 1.629ms | 78.179ms |
43-
| RSGI | MT | 2 | 2069827 | 206894 | 1.227ms | 129.828ms |
44-
| RSGI | ST | 4 | 1235054 | 123486 | 2.063ms | 85.976ms |
45-
| RSGI | MT | 4 | 1808837 | 180844 | 1.403ms | 120.596ms |
46-
| WSGI | ST | 1 | 1424431 | 142411 | 1.788ms | 85.669ms |
47-
| WSGI | MT | 1 | 1475486 | 147519 | 1.728ms | 66.107ms |
48-
| WSGI | ST | 2 | 1262265 | 126202 | 2.001ms | 296.747ms |
49-
| WSGI | MT | 2 | 1812351 | 181178 | 1.405ms | 70.036ms |
50-
| WSGI | ST | 4 | 1208870 | 120857 | 2.094ms | 330.131ms |
51-
| WSGI | MT | 4 | 1648401 | 164759 | 1.541ms | 114.446ms |
34+
| ASGI | ST | 1 | 1395381 | 139494 | 1.822ms | 127.924ms |
35+
| ASGI | MT | 1 | 1470466 | 147010 | 1.732ms | 100.205ms |
36+
| ASGI | ST | 2 | 1203626 | 120321 | 2.118ms | 66.144ms |
37+
| ASGI | MT | 2 | 1531633 | 153124 | 1.665ms | 65.326ms |
38+
| ASGI | ST | 4 | 1203907 | 120350 | 2.115ms | 79.896ms |
39+
| ASGI | MT | 4 | 1388864 | 138848 | 1.835ms | 74.381ms |
40+
| RSGI | ST | 1 | 1433147 | 143269 | 1.776ms | 104.718ms |
41+
| RSGI | MT | 1 | 1425789 | 142543 | 1.782ms | 103.414ms |
42+
| RSGI | ST | 2 | 1979099 | 197868 | 1.285ms | 106.213ms |
43+
| RSGI | MT | 2 | 2403839 | 240302 | 1.056ms | 134.542ms |
44+
| RSGI | ST | 4 | 1464789 | 146417 | 1.736ms | 96.982ms |
45+
| RSGI | MT | 4 | 2371010 | 236986 | 1.071ms | 112.773ms |
46+
| WSGI | ST | 1 | 1474542 | 147421 | 1.728ms | 86.058ms |
47+
| WSGI | MT | 1 | 1455500 | 145518 | 1.747ms | 105.464ms |
48+
| WSGI | ST | 2 | 1578043 | 157752 | 1.61ms | 133.435ms |
49+
| WSGI | MT | 2 | 2489700 | 248820 | 1.02ms | 104.148ms |
50+
| WSGI | ST | 4 | 1442754 | 144238 | 1.765ms | 96.891ms |
51+
| WSGI | MT | 4 | 2229561 | 222854 | 1.139ms | 134.133ms |

benchmarks/pyver.md

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
## Python versions
66

7-
Run at: Mon 01 Dec 2025, 16:46
8-
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.58 (CPUs: 16)
9-
Granian version: 2.6.0
7+
Run at: Tue 07 Apr 2026, 12:00
8+
Environment: AMD Ryzen 7 5700X @ Gentoo Linux 6.12.77 (CPUs: 16)
9+
Granian version: 2.7.3
1010

1111
Comparison between different Python versions of Granian application protocols using 4bytes plain text response.
1212
Bytes and string response are reported for every protocol just to report the difference with RSGI protocol.
@@ -15,48 +15,48 @@ The "echo" request is a 4bytes POST request responding with the same body.
1515

1616
| Python version | Request | Total requests | RPS | avg latency | max latency |
1717
| --- | --- | --- | --- | --- | --- |
18-
| 3.10 | RSGI get 1KB (c128) | 1467536 | 146707 | 0.868ms | 57.537ms |
19-
| 3.10 | RSGI echo 1KB (c128) | 1257144 | 125681 | 1.014ms | 61.425ms |
20-
| 3.10 | RSGI echo 100KB (iter) (c64) | 169777 | 16981 | 3.759ms | 40.27ms |
21-
| 3.10 | ASGI get 1KB (c128) | 1294779 | 129445 | 0.984ms | 55.363ms |
22-
| 3.10 | ASGI echo 1KB (c128) | 880548 | 88040 | 1.449ms | 46.504ms |
23-
| 3.10 | ASGI echo 100KB (iter) (c64) | 196847 | 19686 | 3.242ms | 41.974ms |
24-
| 3.10 | WSGI get 1KB (c64) | 1503623 | 150290 | 0.423ms | 49.54ms |
25-
| 3.10 | WSGI echo 1KB (c64) | 1369586 | 136907 | 0.465ms | 38.576ms |
26-
| 3.10 | WSGI echo 100KB (iter) (c64) | 101077 | 10111 | 6.315ms | 45.374ms |
27-
| 3.11 | RSGI get 1KB (c128) | 1458213 | 145771 | 0.872ms | 103.029ms |
28-
| 3.11 | RSGI echo 1KB (c128) | 1275784 | 127539 | 0.998ms | 74.297ms |
29-
| 3.11 | RSGI echo 100KB (iter) (c64) | 166624 | 16663 | 3.833ms | 29.209ms |
30-
| 3.11 | ASGI get 1KB (c128) | 1375259 | 137494 | 0.927ms | 61.955ms |
31-
| 3.11 | ASGI echo 1KB (c128) | 934553 | 93437 | 1.364ms | 55.98ms |
32-
| 3.11 | ASGI echo 100KB (iter) (c64) | 196397 | 19641 | 3.25ms | 41.786ms |
33-
| 3.11 | WSGI get 1KB (c64) | 1473182 | 147273 | 0.433ms | 26.616ms |
34-
| 3.11 | WSGI echo 1KB (c64) | 1380607 | 138008 | 0.462ms | 28.359ms |
35-
| 3.11 | WSGI echo 100KB (iter) (c64) | 105149 | 10518 | 6.062ms | 71.718ms |
36-
| 3.12 | RSGI get 1KB (c128) | 1459399 | 145891 | 0.873ms | 64.057ms |
37-
| 3.12 | RSGI echo 1KB (c128) | 1278308 | 127795 | 0.997ms | 54.248ms |
38-
| 3.12 | RSGI echo 100KB (iter) (c64) | 178453 | 17847 | 3.577ms | 41.065ms |
39-
| 3.12 | ASGI get 1KB (c128) | 1372929 | 137265 | 0.927ms | 88.186ms |
40-
| 3.12 | ASGI echo 1KB (c128) | 919891 | 91970 | 1.386ms | 57.104ms |
41-
| 3.12 | ASGI echo 100KB (iter) (c64) | 194982 | 19500 | 3.275ms | 28.367ms |
42-
| 3.12 | WSGI get 1KB (c64) | 1492775 | 149223 | 0.427ms | 44.059ms |
43-
| 3.12 | WSGI echo 1KB (c64) | 1366811 | 136635 | 0.466ms | 49.445ms |
44-
| 3.12 | WSGI echo 100KB (iter) (c64) | 103796 | 10383 | 6.154ms | 30.083ms |
45-
| 3.13 | RSGI get 1KB (c128) | 1462854 | 146253 | 0.871ms | 66.615ms |
46-
| 3.13 | RSGI echo 1KB (c128) | 1183206 | 118290 | 1.078ms | 42.013ms |
47-
| 3.13 | RSGI echo 100KB (iter) (c64) | 175782 | 17580 | 3.631ms | 41.018ms |
48-
| 3.13 | ASGI get 1KB (c128) | 1221253 | 122088 | 1.044ms | 61.669ms |
49-
| 3.13 | ASGI echo 1KB (c128) | 782970 | 78283 | 1.629ms | 67.885ms |
50-
| 3.13 | ASGI echo 100KB (iter) (c64) | 194463 | 19448 | 3.283ms | 37.874ms |
51-
| 3.13 | WSGI get 1KB (c64) | 1458416 | 145783 | 0.437ms | 38.773ms |
52-
| 3.13 | WSGI echo 1KB (c64) | 1334167 | 133370 | 0.478ms | 23.01ms |
53-
| 3.13 | WSGI echo 100KB (iter) (c64) | 93275 | 9332 | 6.848ms | 32.232ms |
54-
| 3.14 | RSGI get 1KB (c128) | 1463689 | 146319 | 0.872ms | 43.673ms |
55-
| 3.14 | RSGI echo 1KB (c128) | 1281713 | 128132 | 0.994ms | 59.593ms |
56-
| 3.14 | RSGI echo 100KB (iter) (c64) | 171280 | 17131 | 3.729ms | 27.763ms |
57-
| 3.14 | ASGI get 1KB (c128) | 1409591 | 140938 | 0.904ms | 64.846ms |
58-
| 3.14 | ASGI echo 1KB (c128) | 977584 | 97737 | 1.304ms | 72.092ms |
59-
| 3.14 | ASGI echo 100KB (iter) (c64) | 195870 | 19589 | 3.258ms | 46.308ms |
60-
| 3.14 | WSGI get 1KB (c64) | 1481403 | 148095 | 0.43ms | 35.917ms |
61-
| 3.14 | WSGI echo 1KB (c64) | 1343787 | 134321 | 0.474ms | 60.887ms |
62-
| 3.14 | WSGI echo 100KB (iter) (c64) | 102962 | 10301 | 6.199ms | 44.088ms |
18+
| 3.10 | RSGI get 1KB (c128) | 1464724 | 146423 | 0.87ms | 63.541ms |
19+
| 3.10 | RSGI echo 1KB (c128) | 1228389 | 122802 | 1.038ms | 49.084ms |
20+
| 3.10 | RSGI echo 100KB (iter) (c64) | 174686 | 17464 | 3.649ms | 65.258ms |
21+
| 3.10 | ASGI get 1KB (c128) | 1364184 | 136396 | 0.933ms | 78.097ms |
22+
| 3.10 | ASGI echo 1KB (c128) | 928558 | 92840 | 1.374ms | 52.495ms |
23+
| 3.10 | ASGI echo 100KB (iter) (c64) | 197123 | 19714 | 3.236ms | 52.944ms |
24+
| 3.10 | WSGI get 1KB (c64) | 1465680 | 146507 | 0.434ms | 57.214ms |
25+
| 3.10 | WSGI echo 1KB (c64) | 1360769 | 136040 | 0.468ms | 28.911ms |
26+
| 3.10 | WSGI echo 100KB (iter) (c64) | 106339 | 10638 | 6.006ms | 30.753ms |
27+
| 3.11 | RSGI get 1KB (c128) | 1426224 | 142584 | 0.894ms | 57.258ms |
28+
| 3.11 | RSGI echo 1KB (c128) | 1269281 | 126888 | 1.003ms | 89.544ms |
29+
| 3.11 | RSGI echo 100KB (iter) (c64) | 173959 | 17399 | 3.669ms | 41.42ms |
30+
| 3.11 | ASGI get 1KB (c128) | 1429886 | 142960 | 0.891ms | 70.234ms |
31+
| 3.11 | ASGI echo 1KB (c128) | 986254 | 98607 | 1.292ms | 73.36ms |
32+
| 3.11 | ASGI echo 100KB (iter) (c64) | 193492 | 19350 | 3.3ms | 34.341ms |
33+
| 3.11 | WSGI get 1KB (c64) | 1478767 | 147843 | 0.431ms | 37.916ms |
34+
| 3.11 | WSGI echo 1KB (c64) | 1366978 | 136658 | 0.466ms | 40.976ms |
35+
| 3.11 | WSGI echo 100KB (iter) (c64) | 110278 | 11031 | 5.786ms | 52.689ms |
36+
| 3.12 | RSGI get 1KB (c128) | 1411805 | 141137 | 0.903ms | 45.232ms |
37+
| 3.12 | RSGI echo 1KB (c128) | 1239244 | 123888 | 1.028ms | 72.854ms |
38+
| 3.12 | RSGI echo 100KB (iter) (c64) | 170113 | 17012 | 3.755ms | 27.976ms |
39+
| 3.12 | ASGI get 1KB (c128) | 1393781 | 139337 | 0.915ms | 50.526ms |
40+
| 3.12 | ASGI echo 1KB (c128) | 987359 | 98717 | 1.293ms | 45.948ms |
41+
| 3.12 | ASGI echo 100KB (iter) (c64) | 200682 | 20071 | 3.181ms | 33.625ms |
42+
| 3.12 | WSGI get 1KB (c64) | 1412022 | 141148 | 0.451ms | 42.767ms |
43+
| 3.12 | WSGI echo 1KB (c64) | 1351869 | 135146 | 0.471ms | 46.938ms |
44+
| 3.12 | WSGI echo 100KB (iter) (c64) | 109533 | 10957 | 5.824ms | 56.481ms |
45+
| 3.13 | RSGI get 1KB (c128) | 1429798 | 142955 | 0.892ms | 48.694ms |
46+
| 3.13 | RSGI echo 1KB (c128) | 1247500 | 124727 | 1.022ms | 64.238ms |
47+
| 3.13 | RSGI echo 100KB (iter) (c64) | 172660 | 17267 | 3.695ms | 48.772ms |
48+
| 3.13 | ASGI get 1KB (c128) | 1393855 | 139355 | 0.913ms | 90.504ms |
49+
| 3.13 | ASGI echo 1KB (c128) | 1004056 | 100386 | 1.27ms | 61.491ms |
50+
| 3.13 | ASGI echo 100KB (iter) (c64) | 189581 | 18960 | 3.367ms | 42.057ms |
51+
| 3.13 | WSGI get 1KB (c64) | 1473358 | 147280 | 0.432ms | 52.608ms |
52+
| 3.13 | WSGI echo 1KB (c64) | 1351223 | 135073 | 0.471ms | 53.595ms |
53+
| 3.13 | WSGI echo 100KB (iter) (c64) | 109441 | 10948 | 5.826ms | 62.867ms |
54+
| 3.14 | RSGI get 1KB (c128) | 1476074 | 147569 | 0.864ms | 62.446ms |
55+
| 3.14 | RSGI echo 1KB (c128) | 1231548 | 123123 | 1.032ms | 97.947ms |
56+
| 3.14 | RSGI echo 100KB (iter) (c64) | 173432 | 17344 | 3.681ms | 37.39ms |
57+
| 3.14 | ASGI get 1KB (c128) | 1439442 | 143922 | 0.886ms | 64.139ms |
58+
| 3.14 | ASGI echo 1KB (c128) | 1009738 | 100956 | 1.263ms | 57.633ms |
59+
| 3.14 | ASGI echo 100KB (iter) (c64) | 198846 | 19886 | 3.209ms | 48.322ms |
60+
| 3.14 | WSGI get 1KB (c64) | 1471359 | 147071 | 0.433ms | 54.568ms |
61+
| 3.14 | WSGI echo 1KB (c64) | 1365044 | 136453 | 0.466ms | 48.155ms |
62+
| 3.14 | WSGI echo 100KB (iter) (c64) | 109161 | 10920 | 5.85ms | 34.431ms |

0 commit comments

Comments
 (0)