
从 7 层 5 进程到 4 层 2 进程。专为量化研究速度而生的定制执行引擎。
三代精炼:在每一层消除开销。
7+ 个抽象层、5 个独立进程、IPC 序列化开销。纯 Python 执行,架构复杂度高。
减少进程数量,引入 C++ 组件。验证嵌入式执行概念的过渡架构。
4 层、2 进程、1 协议。通过 pybind11 嵌入 Python 的 C++ 执行器。Apache Arrow 到 NumPy 的零拷贝数据流。
使用 RDTSC 计时、CPU 亲和性固定和 P50/P90/P99/P999 百分位追踪测量。
| 指标 | 实测值 | 目标值 |
|---|---|---|
| 每 K 线延迟 | 2.15 ns | < 1 µs |
| GIL 获取时间 | 26.62 ns | < 10 µs |
| GIL 持有时间 | 203.30 ns | < 100 µs |
| SIMD 加速(AVX2) | 2.48x | ≥ 2x |
| 无锁吞吐量 | 15.73 M ops/s | > 10 M ops/s |
| 相比 Python 整体 | 500-1000x | > 100x |
从市场数据到策略执行,零内存拷贝。
市场数据以列式压缩的 Apache Parquet 格式存储。直接内存映射文件访问消除反序列化开销。
Apache Arrow 提供语言无关的列式内存布局。C++ 和 Python 共享同一内存,无需任何拷贝或转换。
pybind11 将 Arrow 缓冲区暴露为同一内存空间中的 NumPy 数组。策略 Python 代码零分配读取 C++ 拥有的数据。
从架构到纳秒:系统性的性能优化方法。
V3 单进程执行器消除了 IPC 序列化、进程创建和跨进程数据编组。最大的收益来自架构简化。
使用 CPU 亲和性固定的 RDTSC 计时。12 个基准测试程序的 P50/P90/P99/P999 百分位追踪。建立可复现的测量基础设施。
LTO、-march=native、xsimd SIMD 抽象、mimalloc 分配器、Quill 低延迟日志、Abseil 容器。编译器和库级别优化。
PMR 基础设施、缓存对齐分配器、热路径零分配。目标 L1 缓存未命中率 < 5%,TLB 未命中率 < 0.5%。
克隆、构建并在几分钟内运行您的第一次回测。引擎包含在免费版中。
git clone https://github.com/StratCraft/StratCraft.git\ncd StratCraft\npnpm install && pnpm dev:desktop