Numba and Rust kernels
Median warm runtime across correctness-matched VectorBT PRO kernels, grouped by total input elements.
Tools measured in this benchmark
Open a tool page for its code examples, strengths, and limits. Exact versions are listed in the technical details.
Warm runtime by input size
Median runtime across correctness-matched kernels grouped by total input elements. Lower is faster. Runtime uses a logarithmic scale.
Numba leads on small inputs, Rust on larger groups
Each cell is the median within its input-size group. The set contains many different kernels, so use the downloadable per-function evidence before applying the aggregate to a particular workload.
See exactly how the result was produced
Exact values
| Input elements | Numba | Rust |
|---|---|---|
| 1 | 207.92 ns | 1.67 µs |
| 100 | 1.1 µs | 2.33 µs |
| 1K | 4.9 µs | 4.06 µs |
| 10K | 30.29 µs | 17.79 µs |
| 100K | 164.85 µs | 125.17 µs |
| 1M | 1.98 ms | 1.44 ms |
Environment
- Apple M3, 8 logical cores
- macOS 26.5.2, arm64
- CPython 3.11.8
- VectorBT PRO 2026.6.27
- NumPy 2.4.6, Numba 0.66.0
- rustc 1.94.1
Procedure
- 2 warmups and 5 measured repetitions
- Seed 42, up to 1,000,000 input elements
- Correctness checked before timing
- Compilation excluded from warm runtime
Scope
Read this result narrowly. This compares matching numerical kernels inside VectorBT PRO. It does not rank complete backtesting frameworks, strategy APIs, or end-to-end research workflows.
Peak RSS was not measured, so this release does not include a memory chart.
Reproduce and inspect
The downloadable files preserve the measured values, available result detail, environment record, and checksums.
See the editorial process for the publication standard.
Download the data
Download the chart values, detailed results, release details, or file checksums separately.