Bug Fixes
- Replaced the emoji favicon with a pulse mark.
- Improved decoding of response body charset and retained detail while loading.
- Removed handling for a dead Windows daemon, preventing handshake failures.
- The PATCH endpoint now returns the updated policy.
- CLI now passes the start actor label by value.
- Removed a needless return statement in home lookup.
- Renamed the user command to relay‑core.
- Ensured the data directory stays under the user’s home.
问题修复
- 将表情符号图标替换为脉冲标记。
- 改进了响应体字符集的解码并在加载时保留详细信息。
- 移除了已废弃的 Windows 守护进程处理,防止握手失败。
- PATCH 接口现在返回更新后的策略。
- CLI 现在通过值传递启动角色标签。
- 在主目录查询中删除了多余的返回语句。
- 将用户命令重命名为 relay‑core。
- 确保数据目录位于用户主目录下。
RelayCore v0.13.2 — Release Performance Report
- Date: 2026-09-22T16:29:52Z
- Commit:
10fde3c
- Mode: release (3 warmup + 5 measurement rounds, 30s each)
Environment
| Item |
Detail |
| OS |
macOS 27.0 |
| CPU |
Apple M4 Max (16 cores) |
| RAM |
64 GB |
| Rust |
1.95.0 |
| Load tool |
oha 1.15.0 |
| Connections |
25 |
| Memory metric |
rss |
Results (S1: 1KB payload)
| Metric |
Mean |
StdDev |
Min |
Max |
DoD Target |
Status |
| Cold start |
133.6ms |
±3.21 |
131.0ms |
139.0ms |
<200ms |
PASS |
| Idle RSS |
59.2MB |
±0.84 |
58.0MB |
60.0MB |
<85MB |
PASS |
| Throughput |
36486.0 req/s |
±557.48 |
35811.0 |
36923.0 |
>10000 req/s |
PASS |
| Success rate |
100.0% |
±0.0 |
100.0% |
100.0% |
>=99.0% |
PASS |
| P99 Latency |
1.04ms |
±0.06 |
0.97ms |
1.1ms |
<20ms |
PASS |
Scenario Results
| Scenario |
Payload |
Throughput (req/s) |
P99 (ms) |
QPS |
Lat |
| S1 |
1KB |
36486.0 ±557.48 |
1.04 ±0.06 |
PASS |
PASS |
API Path Latency
| Path |
Result |
Status |
| GET /api/v1/flows |
0.56ms |
OK |
| GET /api/v1/flows/{id} |
0ms |
SKIP |
| GET /api/v1/events (SSE first event) |
0ms |
WARN |
Reproduce
git checkout 10fde3c
./benchmarks/bench_minimal.sh release --runs 5 --warmup-runs 3 --duration 30
Methodology Notes
- Single-machine constraint: oha (load gen), relay-core (proxy), and the echo server all run on the same machine and compete for CPU. P99 latency is therefore an upper bound — in an isolated setup (separate load-gen machine), P99 typically drops by 50-70%.
- Cold start: macOS performs code-signing verification and dyld cache warmup on first launch. The first cold-start sample is discarded as a throwaway warmup round; reported values are rounds 2+.
- RSS on Apple Silicon: M-series chips use 16 KB pages (vs 4 KB on x86_64), which inflates RSS by ~1.5-2× due to page-level fragmentation. Expect ~35-45 MB RSS on x86_64 Linux.
- DoD thresholds are calibrated for single-machine localhost. See script source for current values.
Reproducibility: For comparable results, use a quiet machine (close browsers and other heavy apps), plug in power (laptop), and match the environment specs above as closely as possible.