Benchmarks
pandas vs C++20/pybind11 kernels, benchmarked live on the API host
Numbers vary by run: parallel speedup is bounded by how many cores this host actually has free right now, so a shared cloud instance will show a smaller, but equally real, win than an idle 8-core dev machine.
Per-kernel benchmark
Five rolling-window / exponential-smoothing kernels, isolated
NaN & edge-case explorer
Same tiny series, three backends - pick a scenario and watch where they agree, and where they don't
End-to-end pipeline
Full 19-feature compute_features() - pandas vs. the C++-backed drop-in
Real backtest, not synthetic
Same pipeline, but on this platform's own ingested real history for a real ticker
Multi-symbol parallel (GIL release)
GIL released during C++ callsRSI-14 across N symbols - pandas sequential vs. C++ sequential vs. C++ across a Python ThreadPoolExecutor
Python's Global Interpreter Lock normally lets only one thread run Python bytecode at a time, so spinning up 8 threads around pandas code doesn't parallelize CPU-bound work at all. Releasing the GIL around the C++ compute region (py::gil_scoped_release) is what lets these threads actually run concurrently.
Thread-count scaling
Fixed workload, varying thread-pool size - where does adding threads stop helping?