
從 7 層和 5 個行程到 4 層和 2 個行程。專為量化研究速度而生的目的性執行引擎。
三代的精煉:在每一層消除開銷。
7+ 抽象層,5 個獨立行程,IPC 序列化開銷。純 Python 執行,架構複雜度高。
減少行程數量,引入 C++ 元件。過渡性架構,驗證了嵌入式執行概念。
4 層,2 個行程,1 個協定。C++ 執行器內嵌 pybind11 Python。零拷貝 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 |
| 整體 vs 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%。
數分鐘內 Clone、建置並執行您的第一次回測。引擎包含在免費版中。
git clone https://github.com/StratCraft/StratCraft.git\ncd StratCraft\npnpm install && pnpm dev:desktop