CEX订单簿方案¶
VectorOrderBook:
- 极致性能要求 - 高频交易系统,需要纳秒级延迟
- 主流币种交易 - BTC, ETH, BNB等价格范围可预测的币种
- 订单密集场景 - 大部分价格级别都有订单
- 内存充足环境 - 可以预分配240MB+内存
HashOrderBook:
- 极低价币交易 - SHIB, PEPE等需要最高精度的币种
- 极稀疏订单簿 - 价格点非常分散
- 不需要频繁遍历 - 主要进行单点查询
TreeOrderBook:
- 生产环境 - 性能和灵活性的最佳平衡
- 订单匹配引擎 - 需要频繁按价格顺序遍历
- 市场深度查询 - 需要显示LOB深度数据
- 确定性性能要求 - 相比HashMap更可预测
- 通用场景 - 适合大多数交易对
CircularArrayOrderBook:
- 超高频做市商系统 - 订单取消 / 插入频率极高,依赖 O (1) 稳定延迟
- 短生命周期订单场景 - 大量 IOC(立即成交或取消)、FOK 订单,需快速标记无效并通过压缩回收空间
- 内存敏感型高频交易 - 相比 VectorOrderBook 节省 90%+ 内存(无需预分配 3000 万价格点),同时保持高频操作性能
- 活跃价格层级集中 - 2^8=256 个价格层级足够覆盖主流币短期波动区间
多币种交易所:
- 主流币(BTC/ETH/BNB) → TreeOrderBook(平衡性能和功能)或 CircularArrayOrderBook(高频做市专区)
- 极低价币(SHIB/PEPE) → TreeOrderBook或HashOrderBook
- 高频交易专用 → VectorOrderBook 或 CircularArrayOrderBook(内存 + 延迟平衡)
单一场景推荐:
- 如果不确定选哪个 → 直接用TreeOrderBook
- 追求极致低延迟 → VectorOrderBook
- 追求高频性能但内存受限 → CircularArrayOrderBook
- 资源受限环境 → HashOrderBook