v0.1.13
NexusFIX v0.1.13
simdjson-Style Two-Stage Structural Indexing
Highlights
- 77% faster ExecutionReport parsing (207 ns -> 47 ns P50)
- Two-stage SIMD pipeline: structural index + lazy O(1) field extraction
- Runtime dispatch: AVX-512 / AVX2 / scalar fallback
Performance
ExecutionReport Parse (169 bytes)
| Metric | Before | After | Improvement |
|---|---|---|---|
| P50 | 207.17 ns | 46.82 ns | 77.4% faster |
| Mean | 208.24 ns | 47.43 ns | 77.2% faster |
| P99 | 217.99 ns | 60.86 ns | 72.1% faster |
Throughput by Message Size
| Message | Size | Latency | Throughput |
|---|---|---|---|
| Heartbeat | 78 B | 38.6 ns | 2.02 GB/s |
| NewOrderSingle | 158 B | 53.3 ns | 2.97 GB/s |
| ExecutionReport | 169 B | 50.9 ns | 3.32 GB/s |
What's New
- simdjson-inspired two-stage FIX parser
- Stage 1: SIMD scan builds structural index of all delimiter positions
- Stage 2: Lazy field extraction via direct index lookup (~2.3 ns/field)
Bug Fixes
- Fix Windows MSVC CI: suppress C4324 alignment warning for intentional
alignas; replace deprecatedstd::getenv()with MSVC-safe alternative
Full Changelog: v0.1.12...v0.1.13