SIMD Performance¶
tulip_rs uses 256-bit AVX2 f64x4 SIMD (N = 4 lanes) in two modes:
- by_assets - process 4 different assets with the same options in a single pass
- by_options - process 1 asset with 4 different option configurations in a single pass
All times are nanoseconds (ns). Lower is better.
by_assets: 4 Assets Simultaneously¶
Full comparison tables (vs Rust, vs C / TA-Lib, Python Binding, Node Binding, C Binding, Go Binding, and each binding's reference libraries): SIMD by_assets →
| Binding | Indicators showing SIMD speedup | Median speedup (benefiting indicators) |
|---|---|---|
| Rust | 66 / 93 (71%) | ~1.83× |
| Python | 75 / 93 (81%) | ~1.89× |
| Node | 59 / 93 (63%) | ~1.29× |
| C | 64 / 91 (70%) | ~2.05× |
| Go | 62 / 94 (66%) | ~1.60× |
by_options: 4 Option Sets Simultaneously¶
Full comparison tables (vs Rust, vs Sequential Rust / Binding scalar, C / TA-Lib, Python Binding, Node Binding, C Binding, Go Binding): SIMD by_options →
| Binding | Indicators showing SIMD speedup | Median speedup (benefiting indicators) |
|---|---|---|
| Rust | 52 / 75 (69%) | ~2.02× |
| Python | 67 / 75 (89%) | ~2.00× |
| Node | 54 / 75 (72%) | ~1.37× |
| C | 51 / 75 (68%) | ~2.09× |
| Go | 53 / 76 (70%) | ~1.73× |