Skip to content
python.financial
Tools tested

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.

What this means

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.

Technical details

See exactly how the result was produced

Exact values

Input elementsNumbaRust
1207.92 ns1.67 µs
1001.1 µs2.33 µs
1K4.9 µs4.06 µs
10K30.29 µs17.79 µs
100K164.85 µs125.17 µs
1M1.98 ms1.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.

Downloads

Download the data

Download the chart values, detailed results, release details, or file checksums separately.

Choose which optional services may run. You can change these settings at any time.