Skip to content

Commit a48fa7d

Browse files
Update benchmark results (#28)
Co-authored-by: gi0baro <5019985+gi0baro@users.noreply.github.com>
1 parent 5683384 commit a48fa7d

File tree

2 files changed

+64
-64
lines changed

2 files changed

+64
-64
lines changed

benchmarks/README.md

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# RLoop benchmarks
22

3-
Run at: Thu 30 Jan 2025, 02:26
3+
Run at: Sun 23 Feb 2025, 18:38
44
Environment: GHA Linux x86_64 (CPUs: 4)
55
Python version: 3.13
6-
RLoop version: 0.1.0a5
6+
RLoop version: 0.1.0
77

88
### Raw sockets
99

@@ -12,36 +12,36 @@ TCP echo server with raw sockets comparison using 1KB, 10KB and 100KB messages.
1212

1313
| Loop | Throughput (1KB) | Throughput (10KB) | Throughput (100KB) |
1414
| --- | --- | --- | --- |
15-
| asyncio | 14939.9 (76.4%) | 13355.8 (74.7%) | 9582.8 (84.9%) |
16-
| rloop | 19545.4 (100.0%) | 17878.1 (100.0%) | 11281.3 (100.0%) |
17-
| uvloop | 16288.9 (83.3%) | 14681.7 (82.1%) | 9937.1 (88.1%) |
15+
| asyncio | 14766.9 (75.6%) | 14019.0 (78.3%) | 9900.4 (89.2%) |
16+
| rloop | 19544.8 (100.0%) | 17896.9 (100.0%) | 11103.9 (100.0%) |
17+
| uvloop | 16774.5 (85.8%) | 15214.8 (85.0%) | 9809.4 (88.3%) |
1818

1919

2020
#### 1KB details
2121

2222
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
2323
| --- | --- | --- | --- | --- | --- |
24-
| asyncio | 149399 | 14939.9 (76.4%) | 0.065ms | 0.104ms | 0.018 |
25-
| rloop | 195454 | 19545.4 (100.0%) | 0.05ms | 0.08ms | 0.01 |
26-
| uvloop | 162889 | 16288.9 (83.3%) | 0.059ms | 0.099ms | 0.013 |
24+
| asyncio | 147669 | 14766.9 (75.6%) | 0.066ms | 0.105ms | 0.015 |
25+
| rloop | 195448 | 19544.8 (100.0%) | 0.051ms | 0.079ms | 0.007 |
26+
| uvloop | 167745 | 16774.5 (85.8%) | 0.057ms | 0.097ms | 0.013 |
2727

2828

2929
#### 10KB details
3030

3131
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
3232
| --- | --- | --- | --- | --- | --- |
33-
| asyncio | 133558 | 13355.8 (74.7%) | 0.072ms | 0.112ms | 0.015 |
34-
| rloop | 178781 | 17878.1 (100.0%) | 0.054ms | 0.085ms | 0.011 |
35-
| uvloop | 146817 | 14681.7 (82.1%) | 0.066ms | 0.106ms | 0.014 |
33+
| asyncio | 140190 | 14019.0 (78.3%) | 0.069ms | 0.107ms | 0.013 |
34+
| rloop | 178969 | 17896.9 (100.0%) | 0.054ms | 0.084ms | 0.008 |
35+
| uvloop | 152148 | 15214.8 (85.0%) | 0.064ms | 0.1ms | 0.011 |
3636

3737

3838
#### 100KB details
3939

4040
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
4141
| --- | --- | --- | --- | --- | --- |
42-
| asyncio | 95828 | 9582.8 (84.9%) | 0.1ms | 0.146ms | 0.015 |
43-
| rloop | 112813 | 11281.3 (100.0%) | 0.086ms | 0.138ms | 0.016 |
44-
| uvloop | 99371 | 9937.1 (88.1%) | 0.1ms | 0.179ms | 0.022 |
42+
| asyncio | 99004 | 9900.4 (89.2%) | 0.098ms | 0.142ms | 0.013 |
43+
| rloop | 111039 | 11103.9 (100.0%) | 0.089ms | 0.139ms | 0.015 |
44+
| uvloop | 98094 | 9809.4 (88.3%) | 0.101ms | 0.18ms | 0.023 |
4545

4646

4747
### Streams
@@ -51,36 +51,36 @@ TCP echo server with `asyncio` streams comparison using 1KB, 10KB and 100KB mess
5151

5252
| Loop | Throughput (1KB) | Throughput (10KB) | Throughput (100KB) |
5353
| --- | --- | --- | --- |
54-
| asyncio | 14260.8 (84.1%) | 13196.9 (86.0%) | 6065.4 (81.4%) |
55-
| rloop | 16964.3 (100.0%) | 15342.9 (100.0%) | 7454.6 (100.0%) |
56-
| uvloop | 15013.2 (88.5%) | 14103.9 (91.9%) | 7192.7 (96.5%) |
54+
| asyncio | 14647.2 (86.2%) | 14095.1 (95.8%) | 5838.0 (86.0%) |
55+
| rloop | 16997.0 (100.0%) | 14719.7 (100.0%) | 6792.0 (100.0%) |
56+
| uvloop | 14942.0 (87.9%) | 13877.3 (94.3%) | 7234.0 (106.5%) |
5757

5858

5959
#### 1KB details
6060

6161
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
6262
| --- | --- | --- | --- | --- | --- |
63-
| asyncio | 142608 | 14260.8 (84.1%) | 0.068ms | 0.104ms | 0.013 |
64-
| rloop | 169643 | 16964.3 (100.0%) | 0.057ms | 0.088ms | 0.012 |
65-
| uvloop | 150132 | 15013.2 (88.5%) | 0.065ms | 0.096ms | 0.012 |
63+
| asyncio | 146472 | 14647.2 (86.2%) | 0.066ms | 0.099ms | 0.01 |
64+
| rloop | 169970 | 16997.0 (100.0%) | 0.056ms | 0.085ms | 0.01 |
65+
| uvloop | 149420 | 14942.0 (87.9%) | 0.066ms | 0.096ms | 0.012 |
6666

6767

6868
#### 10KB details
6969

7070
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
7171
| --- | --- | --- | --- | --- | --- |
72-
| asyncio | 131969 | 13196.9 (86.0%) | 0.073ms | 0.108ms | 0.015 |
73-
| rloop | 153429 | 15342.9 (100.0%) | 0.064ms | 0.094ms | 0.011 |
74-
| uvloop | 141039 | 14103.9 (91.9%) | 0.067ms | 0.101ms | 0.011 |
72+
| asyncio | 140951 | 14095.1 (95.8%) | 0.069ms | 0.1ms | 0.01 |
73+
| rloop | 147197 | 14719.7 (100.0%) | 0.066ms | 0.095ms | 0.011 |
74+
| uvloop | 138773 | 13877.3 (94.3%) | 0.068ms | 0.102ms | 0.011 |
7575

7676

7777
#### 100KB details
7878

7979
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
8080
| --- | --- | --- | --- | --- | --- |
81-
| asyncio | 60654 | 6065.4 (81.4%) | 0.162ms | 0.229ms | 0.038 |
82-
| rloop | 74546 | 7454.6 (100.0%) | 0.132ms | 0.189ms | 0.025 |
83-
| uvloop | 71927 | 7192.7 (96.5%) | 0.137ms | 0.201ms | 0.026 |
81+
| asyncio | 58380 | 5838.0 (86.0%) | 0.168ms | 0.239ms | 0.034 |
82+
| rloop | 67920 | 6792.0 (100.0%) | 0.144ms | 0.204ms | 0.029 |
83+
| uvloop | 72340 | 7234.0 (106.5%) | 0.136ms | 0.198ms | 0.025 |
8484

8585

8686
### Protocol
@@ -90,36 +90,36 @@ TCP echo server with `asyncio.Protocol` comparison using 1KB, 10KB and 100KB mes
9090

9191
| Loop | Throughput (1KB) | Throughput (10KB) | Throughput (100KB) |
9292
| --- | --- | --- | --- |
93-
| asyncio | 19004.8 (90.8%) | 17040.5 (88.1%) | 12155.0 (97.8%) |
94-
| rloop | 20925.4 (100.0%) | 19350.4 (100.0%) | 12431.8 (100.0%) |
95-
| uvloop | 19758.3 (94.4%) | 18294.1 (94.5%) | 12462.8 (100.2%) |
93+
| asyncio | 18327.8 (84.4%) | 16887.7 (86.5%) | 11971.9 (96.3%) |
94+
| rloop | 21702.7 (100.0%) | 19526.7 (100.0%) | 12429.2 (100.0%) |
95+
| uvloop | 20257.7 (93.3%) | 17878.8 (91.6%) | 11769.1 (94.7%) |
9696

9797

9898
#### 1KB details
9999

100100
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
101101
| --- | --- | --- | --- | --- | --- |
102-
| asyncio | 190048 | 19004.8 (90.8%) | 0.052ms | 0.079ms | 0.009 |
103-
| rloop | 209254 | 20925.4 (100.0%) | 0.045ms | 0.069ms | 0.01 |
104-
| uvloop | 197583 | 19758.3 (94.4%) | 0.048ms | 0.074ms | 0.01 |
102+
| asyncio | 183278 | 18327.8 (84.4%) | 0.053ms | 0.08ms | 0.008 |
103+
| rloop | 217027 | 21702.7 (100.0%) | 0.044ms | 0.068ms | 0.006 |
104+
| uvloop | 202577 | 20257.7 (93.3%) | 0.047ms | 0.071ms | 0.009 |
105105

106106

107107
#### 10KB details
108108

109109
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
110110
| --- | --- | --- | --- | --- | --- |
111-
| asyncio | 170405 | 17040.5 (88.1%) | 0.057ms | 0.086ms | 0.011 |
112-
| rloop | 193504 | 19350.4 (100.0%) | 0.05ms | 0.073ms | 0.008 |
113-
| uvloop | 182941 | 18294.1 (94.5%) | 0.053ms | 0.079ms | 0.009 |
111+
| asyncio | 168877 | 16887.7 (86.5%) | 0.057ms | 0.084ms | 0.01 |
112+
| rloop | 195267 | 19526.7 (100.0%) | 0.05ms | 0.071ms | 0.008 |
113+
| uvloop | 178788 | 17878.8 (91.6%) | 0.054ms | 0.08ms | 0.008 |
114114

115115

116116
#### 100KB details
117117

118118
| Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
119119
| --- | --- | --- | --- | --- | --- |
120-
| asyncio | 121550 | 12155.0 (97.8%) | 0.081ms | 0.113ms | 0.011 |
121-
| rloop | 124318 | 12431.8 (100.0%) | 0.076ms | 0.116ms | 0.018 |
122-
| uvloop | 124628 | 12462.8 (100.2%) | 0.076ms | 0.11ms | 0.016 |
120+
| asyncio | 119719 | 11971.9 (96.3%) | 0.084ms | 0.116ms | 0.009 |
121+
| rloop | 124292 | 12429.2 (100.0%) | 0.078ms | 0.109ms | 0.01 |
122+
| uvloop | 117691 | 11769.1 (94.7%) | 0.083ms | 0.119ms | 0.008 |
123123

124124

125125
### Other benchmarks

benchmarks/pyver.md

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
## Python versions
44

5-
Run at: Thu 30 Jan 2025, 02:28
5+
Run at: Sun 23 Feb 2025, 18:38
66
Environment: GHA Linux x86_64 (CPUs: 4)
7-
RLoop version: 0.1.0a5
7+
RLoop version: 0.1.0
88

99
Comparison between different Python versions.
1010
The only test performed is the raw socket one.
@@ -14,45 +14,45 @@ The only test performed is the raw socket one.
1414

1515
| Python version | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
1616
| --- | --- | --- | --- | --- | --- |
17-
| 3.10 | 192587 | 19258.7 | 0.048ms | 0.069ms | 0.01 |
18-
| 3.11 | 198926 | 19892.6 | 0.046ms | 0.068ms | 0.01 |
19-
| 3.12 | 192247 | 19224.7 | 0.052ms | 0.072ms | 0.008 |
20-
| 3.13 | 198171 | 19817.1 | 0.049ms | 0.066ms | 0.008 |
17+
| 3.10 | 194417 | 19441.7 | 0.05ms | 0.068ms | 0.009 |
18+
| 3.11 | 198728 | 19872.8 | 0.048ms | 0.067ms | 0.009 |
19+
| 3.12 | 184606 | 18460.6 | 0.054ms | 0.074ms | 0.008 |
20+
| 3.13 | 194319 | 19431.9 | 0.052ms | 0.069ms | 0.007 |
2121

2222

2323
### 10KB
2424

2525
| Python version | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
2626
| --- | --- | --- | --- | --- | --- |
27-
| 3.10 | 181245 | 18124.5 | 0.054ms | 0.074ms | 0.008 |
28-
| 3.11 | 183810 | 18381.0 | 0.053ms | 0.074ms | 0.008 |
29-
| 3.12 | 175385 | 17538.5 | 0.054ms | 0.075ms | 0.008 |
30-
| 3.13 | 179275 | 17927.5 | 0.053ms | 0.074ms | 0.008 |
27+
| 3.10 | 178385 | 17838.5 | 0.054ms | 0.075ms | 0.008 |
28+
| 3.11 | 179994 | 17999.4 | 0.054ms | 0.076ms | 0.009 |
29+
| 3.12 | 170939 | 17093.9 | 0.055ms | 0.077ms | 0.009 |
30+
| 3.13 | 176808 | 17680.8 | 0.054ms | 0.075ms | 0.008 |
3131

3232

3333
### 100KB
3434

3535
| Python version | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
3636
| --- | --- | --- | --- | --- | --- |
37-
| 3.10 | 110252 | 11025.2 | 0.088ms | 0.121ms | 0.015 |
38-
| 3.11 | 104607 | 10460.7 | 0.093ms | 0.13ms | 0.018 |
39-
| 3.12 | 116811 | 11681.1 | 0.085ms | 0.109ms | 0.011 |
40-
| 3.13 | 110247 | 11024.7 | 0.089ms | 0.127ms | 0.018 |
37+
| 3.10 | 109561 | 10956.1 | 0.09ms | 0.125ms | 0.016 |
38+
| 3.11 | 111221 | 11122.1 | 0.087ms | 0.12ms | 0.015 |
39+
| 3.12 | 115370 | 11537.0 | 0.086ms | 0.109ms | 0.011 |
40+
| 3.13 | 112606 | 11260.6 | 0.088ms | 0.12ms | 0.015 |
4141

4242

4343
### 10KB VS other
4444

4545
| Python version | Loop | Total requests | Throughput | Mean latency | 99p latency | Latency stdev |
4646
| --- | --- | --- | --- | --- | --- | --- |
47-
| 3.10 | asyncio | 149026 | 14902.6 (82.2%) | 0.067ms | 0.095ms | 0.012 |
48-
| 3.10 | rloop | 181245 | 18124.5 (100.0%) | 0.054ms | 0.074ms | 0.008 |
49-
| 3.10 | uvloop | 149781 | 14978.1 (82.6%) | 0.065ms | 0.089ms | 0.011 |
50-
| 3.11 | asyncio | 148548 | 14854.8 (80.8%) | 0.066ms | 0.095ms | 0.013 |
51-
| 3.11 | rloop | 183810 | 18381.0 (100.0%) | 0.053ms | 0.074ms | 0.008 |
52-
| 3.11 | uvloop | 150073 | 15007.3 (81.6%) | 0.065ms | 0.09ms | 0.012 |
53-
| 3.12 | asyncio | 154792 | 15479.2 (88.3%) | 0.062ms | 0.094ms | 0.014 |
54-
| 3.12 | rloop | 175385 | 17538.5 (100.0%) | 0.054ms | 0.075ms | 0.008 |
55-
| 3.12 | uvloop | 139965 | 13996.5 (79.8%) | 0.068ms | 0.097ms | 0.014 |
56-
| 3.13 | asyncio | 131151 | 13115.1 (73.2%) | 0.073ms | 0.099ms | 0.015 |
57-
| 3.13 | rloop | 179275 | 17927.5 (100.0%) | 0.053ms | 0.074ms | 0.008 |
58-
| 3.13 | uvloop | 149585 | 14958.5 (83.4%) | 0.065ms | 0.092ms | 0.011 |
47+
| 3.10 | asyncio | 151912 | 15191.2 (85.2%) | 0.066ms | 0.093ms | 0.011 |
48+
| 3.10 | rloop | 178385 | 17838.5 (100.0%) | 0.054ms | 0.075ms | 0.008 |
49+
| 3.10 | uvloop | 151489 | 15148.9 (84.9%) | 0.065ms | 0.088ms | 0.011 |
50+
| 3.11 | asyncio | 155875 | 15587.5 (86.6%) | 0.063ms | 0.091ms | 0.012 |
51+
| 3.11 | rloop | 179994 | 17999.4 (100.0%) | 0.054ms | 0.076ms | 0.009 |
52+
| 3.11 | uvloop | 153787 | 15378.7 (85.4%) | 0.064ms | 0.087ms | 0.01 |
53+
| 3.12 | asyncio | 152613 | 15261.3 (89.3%) | 0.063ms | 0.097ms | 0.016 |
54+
| 3.12 | rloop | 170939 | 17093.9 (100.0%) | 0.055ms | 0.077ms | 0.009 |
55+
| 3.12 | uvloop | 142951 | 14295.1 (83.6%) | 0.067ms | 0.095ms | 0.012 |
56+
| 3.13 | asyncio | 133649 | 13364.9 (75.6%) | 0.072ms | 0.099ms | 0.015 |
57+
| 3.13 | rloop | 176808 | 17680.8 (100.0%) | 0.054ms | 0.075ms | 0.008 |
58+
| 3.13 | uvloop | 155701 | 15570.1 (88.1%) | 0.063ms | 0.089ms | 0.011 |

0 commit comments

Comments
 (0)