Skip to content

Commit 92f0147

Browse files
feat(bench): add rpi5 results
Within this patch, we add the benchmarks from Raspberry Pi 5. It exceeds several thresholds, but shows us the performance. Signed-off-by: Gyokhan Kochmarla <gokhan.kocmarli@gmail.com>
1 parent 1b0c5d2 commit 92f0147

14 files changed

+1874
-0
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
{
2+
"benchmark": {
3+
"name": "b1-baseline-concurrency",
4+
"version": "1.0.0",
5+
"description": "Baseline concurrency and latency test",
6+
"timestamp": "2026-01-25T10:43:28.684434+00:00",
7+
"duration_s": 1.135
8+
},
9+
"environment": {
10+
"hardware": {
11+
"cpu_model": "Unknown",
12+
"cpu_arch": "arm64",
13+
"cpu_cores": 4,
14+
"cpu_freq_mhz": {
15+
"base": 1500.0,
16+
"max": 2400.0
17+
},
18+
"ram_gb": 7.86,
19+
"storage": {
20+
"type": "Unknown",
21+
"manufacturer": null,
22+
"model": null
23+
}
24+
},
25+
"software": {
26+
"os_name": "Linux",
27+
"os_version": "#1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25)",
28+
"kernel": "6.6.62+rpt-rpi-2712",
29+
"zig_version": "0.15.2",
30+
"python_version": "3.11.2",
31+
"build_mode": "Unknown"
32+
},
33+
"network": {
34+
"backend": "epoll",
35+
"loopback_available": true
36+
},
37+
"protomq": {
38+
"version": "0.1.0",
39+
"commit_hash": "1b0c5d20",
40+
"buffer_size": 4096,
41+
"max_connections": 1000
42+
}
43+
},
44+
"metrics": {
45+
"concurrent_connections": 100,
46+
"connection_time_s": 0.057,
47+
"p50_latency_ms": 0.085,
48+
"p99_latency_ms": 0.134,
49+
"memory_mb": 1.0
50+
},
51+
"thresholds": {
52+
"passed": false,
53+
"warnings": [],
54+
"failures": [
55+
"connection_time_s=0.057 exceeds max=0.05"
56+
],
57+
"details": {
58+
"concurrent_connections": {
59+
"status": "OK",
60+
"value": 100,
61+
"threshold": {
62+
"direction": "higher",
63+
"min": 100,
64+
"max": null,
65+
"warn": null
66+
}
67+
},
68+
"connection_time_s": {
69+
"status": "FAIL",
70+
"value": 0.057,
71+
"threshold": {
72+
"direction": "lower",
73+
"min": null,
74+
"max": 0.05,
75+
"warn": 0.03
76+
}
77+
},
78+
"p50_latency_ms": {
79+
"status": "OK",
80+
"value": 0.085,
81+
"threshold": {
82+
"direction": "lower",
83+
"min": null,
84+
"max": 0.25,
85+
"warn": 0.2
86+
}
87+
},
88+
"p99_latency_ms": {
89+
"status": "OK",
90+
"value": 0.134,
91+
"threshold": {
92+
"direction": "lower",
93+
"min": null,
94+
"max": 0.8,
95+
"warn": 0.6
96+
}
97+
},
98+
"memory_mb": {
99+
"status": "OK",
100+
"value": 1.0,
101+
"threshold": {
102+
"direction": "lower",
103+
"min": null,
104+
"max": 3.5,
105+
"warn": 3.0
106+
}
107+
}
108+
}
109+
}
110+
}
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
{
2+
"benchmark": {
3+
"name": "b2-thundering-herd",
4+
"version": "1.0.0",
5+
"description": "Thundering herd: 10k concurrent clients burst publish",
6+
"timestamp": "2026-01-25T10:44:39.385639+00:00",
7+
"duration_s": 12.613
8+
},
9+
"environment": {
10+
"hardware": {
11+
"cpu_model": "Unknown",
12+
"cpu_arch": "arm64",
13+
"cpu_cores": 4,
14+
"cpu_freq_mhz": {
15+
"base": 1500.0,
16+
"max": 2400.0
17+
},
18+
"ram_gb": 7.86,
19+
"storage": {
20+
"type": "Unknown",
21+
"manufacturer": null,
22+
"model": null
23+
}
24+
},
25+
"software": {
26+
"os_name": "Linux",
27+
"os_version": "#1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25)",
28+
"kernel": "6.6.62+rpt-rpi-2712",
29+
"zig_version": "0.15.2",
30+
"python_version": "3.11.2",
31+
"build_mode": "Unknown"
32+
},
33+
"network": {
34+
"backend": "epoll",
35+
"loopback_available": true
36+
},
37+
"protomq": {
38+
"version": "0.1.0",
39+
"commit_hash": "1b0c5d20",
40+
"buffer_size": 4096,
41+
"max_connections": 1000
42+
}
43+
},
44+
"metrics": {
45+
"concurrent_connections": 10000,
46+
"connection_time_s": 2.07,
47+
"fan_out_time_s": 0.21,
48+
"peak_memory_mb": 85.0,
49+
"peak_cpu_percent": 5.0,
50+
"message_loss_count": 0,
51+
"connection_failures": 0,
52+
"messages_received": 10000
53+
},
54+
"thresholds": {
55+
"passed": false,
56+
"warnings": [
57+
"fan_out_time_s=0.21 exceeds warn=0.2"
58+
],
59+
"failures": [
60+
"connection_time_s=2.07 exceeds max=2.0"
61+
],
62+
"details": {
63+
"concurrent_connections": {
64+
"status": "OK",
65+
"value": 10000,
66+
"threshold": {
67+
"direction": "higher",
68+
"min": 9500,
69+
"max": null,
70+
"warn": null
71+
}
72+
},
73+
"connection_time_s": {
74+
"status": "FAIL",
75+
"value": 2.07,
76+
"threshold": {
77+
"direction": "lower",
78+
"min": null,
79+
"max": 2.0,
80+
"warn": 1.5
81+
}
82+
},
83+
"fan_out_time_s": {
84+
"status": "WARN",
85+
"value": 0.21,
86+
"threshold": {
87+
"direction": "lower",
88+
"min": null,
89+
"max": 0.3,
90+
"warn": 0.2
91+
}
92+
},
93+
"peak_memory_mb": {
94+
"status": "OK",
95+
"value": 85.0,
96+
"threshold": {
97+
"direction": "lower",
98+
"min": null,
99+
"max": 100.0,
100+
"warn": 90.0
101+
}
102+
},
103+
"peak_cpu_percent": {
104+
"status": "OK",
105+
"value": 5.0,
106+
"threshold": {
107+
"direction": "lower",
108+
"min": null,
109+
"max": 10.0,
110+
"warn": 5.0
111+
}
112+
},
113+
"message_loss_count": {
114+
"status": "OK",
115+
"value": 0,
116+
"threshold": {
117+
"direction": "lower",
118+
"min": null,
119+
"max": 10,
120+
"warn": 0
121+
}
122+
},
123+
"connection_failures": {
124+
"status": "OK",
125+
"value": 0,
126+
"threshold": {
127+
"direction": "lower",
128+
"min": null,
129+
"max": 500,
130+
"warn": 0
131+
}
132+
},
133+
"messages_received": {
134+
"status": "SKIP",
135+
"value": 10000,
136+
"threshold": null
137+
}
138+
}
139+
}
140+
}
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
{
2+
"benchmark": {
3+
"name": "b3-sustained-throughput",
4+
"version": "1.0.0",
5+
"description": "Sustained throughput: 10 minutes of continuous load",
6+
"timestamp": "2026-01-25T10:47:48.050367+00:00",
7+
"duration_s": 666.548
8+
},
9+
"environment": {
10+
"hardware": {
11+
"cpu_model": "Unknown",
12+
"cpu_arch": "arm64",
13+
"cpu_cores": 4,
14+
"cpu_freq_mhz": {
15+
"base": 1500.0,
16+
"max": 2400.0
17+
},
18+
"ram_gb": 7.86,
19+
"storage": {
20+
"type": "Unknown",
21+
"manufacturer": null,
22+
"model": null
23+
}
24+
},
25+
"software": {
26+
"os_name": "Linux",
27+
"os_version": "#1 SMP PREEMPT Debian 1:6.6.62-1+rpt1 (2024-11-25)",
28+
"kernel": "6.6.62+rpt-rpi-2712",
29+
"zig_version": "0.15.2",
30+
"python_version": "3.11.2",
31+
"build_mode": "Unknown"
32+
},
33+
"network": {
34+
"backend": "epoll",
35+
"loopback_available": true
36+
},
37+
"protomq": {
38+
"version": "0.1.0",
39+
"commit_hash": "1b0c5d20",
40+
"buffer_size": 4096,
41+
"max_connections": 1000
42+
}
43+
},
44+
"metrics": {
45+
"publishers": 1000,
46+
"subscribers": 1000,
47+
"sustained_throughput_msg_per_s": 9012.0,
48+
"p99_latency_at_10min_ms": 0.118,
49+
"memory_growth_mb": -0.52,
50+
"avg_cpu_percent": 0.5,
51+
"message_loss_percent": 0.0,
52+
"total_messages_sent": 6000000,
53+
"duration_s": 665.8
54+
},
55+
"thresholds": {
56+
"passed": true,
57+
"warnings": [
58+
"sustained_throughput_msg_per_s=9012.0 below warn=10000"
59+
],
60+
"failures": [],
61+
"details": {
62+
"publishers": {
63+
"status": "OK",
64+
"value": 1000,
65+
"threshold": {
66+
"direction": "higher",
67+
"min": 950,
68+
"max": null,
69+
"warn": null
70+
}
71+
},
72+
"subscribers": {
73+
"status": "OK",
74+
"value": 1000,
75+
"threshold": {
76+
"direction": "higher",
77+
"min": 950,
78+
"max": null,
79+
"warn": null
80+
}
81+
},
82+
"sustained_throughput_msg_per_s": {
83+
"status": "WARN",
84+
"value": 9012.0,
85+
"threshold": {
86+
"direction": "higher",
87+
"min": 8000,
88+
"max": null,
89+
"warn": 10000
90+
}
91+
},
92+
"p99_latency_at_10min_ms": {
93+
"status": "OK",
94+
"value": 0.118,
95+
"threshold": {
96+
"direction": "lower",
97+
"min": null,
98+
"max": 0.6,
99+
"warn": 0.4
100+
}
101+
},
102+
"memory_growth_mb": {
103+
"status": "OK",
104+
"value": -0.52,
105+
"threshold": {
106+
"direction": "lower",
107+
"min": null,
108+
"max": 5.0,
109+
"warn": 2.0
110+
}
111+
},
112+
"avg_cpu_percent": {
113+
"status": "OK",
114+
"value": 0.5,
115+
"threshold": {
116+
"direction": "lower",
117+
"min": null,
118+
"max": 30.0,
119+
"warn": 20.0
120+
}
121+
},
122+
"message_loss_percent": {
123+
"status": "OK",
124+
"value": 0.0,
125+
"threshold": {
126+
"direction": "lower",
127+
"min": null,
128+
"max": 0.01,
129+
"warn": 0.0
130+
}
131+
},
132+
"total_messages_sent": {
133+
"status": "SKIP",
134+
"value": 6000000,
135+
"threshold": null
136+
},
137+
"duration_s": {
138+
"status": "SKIP",
139+
"value": 665.8,
140+
"threshold": null
141+
}
142+
}
143+
}
144+
}

0 commit comments

Comments
 (0)