Matching Core - 高性能撮合引擎核心库

💡 原文中文,约5500字,阅读约需13分钟。
📝

内容提要

Matching Core是一个高性能的撮合引擎,基于Rust构建,支持多种订单类型和交易品种,具备毫秒级延迟、内存优化和高吞吐量,适用于现货和期货交易。

🎯

关键要点

  • Matching Core是一个高性能的撮合引擎,基于Rust构建。

  • 支持多种订单类型,包括GTC、IOC、FOK、Post-Only、Stop Order、Iceberg、GTD和Day。

  • 支持多种交易品种,如现货、期货、永续合约、看涨期权和看跌期权。

  • 具备毫秒级延迟,内存优化和高吞吐量,适用于现货和期货交易。

  • 使用SOA内存布局和订单池预分配来优化内存使用。

  • 实现零拷贝序列化,使用rkyv技术提高性能。

  • 采用LMAX Disruptor模式实现高吞吐量的无锁环形缓冲区。

  • 支持多风险引擎和撮合引擎的分片架构。

  • 提供持久化机制,包括WAL日志和快照。

  • 性能指标显示,TPS和QPS在高并发情况下表现优异,延迟低于1微秒。

  • 支持多种高级订单类型的示例,包括Post-Only、Iceberg和Stop Order。

  • 项目结构清晰,包含API定义、核心引擎、示例代码和基准测试。

  • 主要依赖包括disruptor、rkyv、ahash、slab和serde等。

延伸问答

Matching Core的主要功能是什么?

Matching Core是一个高性能的撮合引擎,支持多种订单类型和交易品种,具备毫秒级延迟和高吞吐量。

Matching Core支持哪些订单类型?

支持的订单类型包括GTC、IOC、FOK、Post-Only、Stop Order、Iceberg、GTD和Day。

Matching Core的性能指标如何?

在高并发情况下,TPS可达7247910,QPS可达3623955,平均延迟低于1微秒。

Matching Core如何优化内存使用?

通过SOA内存布局、订单池预分配和SmallVec来优化内存使用,减少内存碎片。

Matching Core的持久化机制是什么?

提供WAL日志和快照机制以实现持久化。

如何安装和使用Matching Core?

通过git clone仓库并使用cargo build --release命令进行安装和构建。

➡️

继续阅读