// 04 · 引擎延迟

Rust 引擎有多快

进程内单调时钟测量。无网络,无 HTTP,纯引擎周期。测量于 2026-04-24,引擎 0.4.48,{{n}} 个样本。

仅限引擎 - 非端到端实际耗时

这些数字测量 Rust 引擎热路径 - parse、state-cache 写入、完整流水线 - 全部进程内,全部单调时钟。不包括网络往返、交易所 WS 延迟或经纪商成交时间。每个交易所的网络延迟单独测量,记为 recv_wall_ns − state_cache_updated_ns(recv 减去 state-updated)。完整分解请参阅延迟矩阵文档。

p50
310 ns
p95
980 ns
p99
1,950 ns

基于 MarketState::update_ticker_owned89,033 样本的直方图(引擎 0.4.48)- 纳秒,进程内单调时钟

完整 Rust 引擎流水线

延迟矩阵中全部七项指标(引擎 0.4.48)。状态写入在纳秒级;parse + end-to-end 在微秒级。全部进程内,无网络。

指标np50p99备注
state_ticker_ns89,033310 ns1.95 µs单次行情状态缓存写入。引擎工作的最小单元 - 将一个交易对的价格、成交量和时间戳写入市场状态。这是 310 ns 核心指标。
state_mark_price_ns1202.15 µs3.73 µs标记价格状态写入。比行情写入略重, 标记价格携带额外字段(资金费率、指数价格)写入状态。
state_order_update_ns3,4583.69 µs13.86 µs订单生命周期状态写入:新建、部分成交、完全成交、已取消。每次状态转换会更新订单表和每个交易对的订单索引。
state_ob_snap_ns16,4064.44 µs17.42 µs完整订单簿快照写入。在一次原子操作中替换某交易对的全部买卖挂单。比增量更重,因为需要重写完整深度。
state_ob_delta_ns102,5495.51 µs16.34 µs订单簿增量。将一侧的价格档位更新应用到实时挂单。比快照更轻;大多数逐笔更新都是增量。
parse_ns176,5551.76 µs77.95 µs完整 WS 帧 parse:JSON 或二进制解码、消息类型路由、交易对查找。引擎在状态写入前解析每一帧。这是纯解析成本。
end_to_end_ns176,55514.40 µs248.96 µs端到端流水线:parse + 状态写入,从原始帧到更新后市场状态的完整进程内热路径。14.4 µs 核心指标即为此数值。

硬件层级预期

310 ns 核心指标在固定的 Intel Xeon 8369B(A 级)上测量。亚微秒 p50 是引擎级硬件的决定性特征。受限笔记本或共享虚拟机可能超过 1 µs - 这反映的是硬件性能,而非引擎本身。

层级硬件配置p50p95
AIntel Xeon 8369B(Ice Lake-SP)Linux 5.15,固定核心,performance governor,Rust 1.78310 ns980 ns
BAMD EPYC 7763 / Xeon Gold 6338Linux 5.15+,performance governor,Rust 1.78350–500 ns0.7–1.2 µs
CApple M2 / M3 MacBookmacOS 14+,arm64,Rust 1.78250–450 ns0.6–1.1 µs
DIntel i7-12700H / Ryzen 9 7945HX 笔记本Linux/Win11,未固定,Rust 1.78400–650 ns0.8–1.4 µs

三条命令复现

测试套件是独立的 Rust crate。无需克隆完整平台,无需外部服务。

# 1. Clone the public OSS repo
git clone https://github.com/melaya-labs/melaya.git
cd melaya/benchmarks/engine

# 2. Run the criterion bench (~100k iterations, ~30 seconds)
cargo bench --bench state_ticker

# 3. Read the per-iteration CSV + summary
cat results/state_ticker_ns.csv | head
cat results/summary.json

A 级硬件上总实际耗时不到 30 秒。criterion 套件生成 results/state_ticker_ns.csv + results/summary.json。完整方法论见测试套件 README。

加入社区
// Cookie
Melaya 使用一小组第一方 cookie,仅用于身份验证、维持会话和保护平台。默认不使用广告 cookie、跨站追踪器或第三方分析。完整 cookie 清单见我们的 隐私政策.