Unified benchmark runner for FrameX vs native libraries (Pandas/NumPy + Python stdlib executors).
- Performance benchmark
- Parallel processing benchmark
- Single core benchmark
- Multiprocessing benchmark
- Memory benchmark
- Report benchmark + visualization
- C backend benchmark (
kernel_backend=pythonvskernel_backend=c, when available) - Workload capability matrix check (
benchmarks.check_framex_workloads)
python3 -m pip install -e '.[bench]'python3 -m benchmarks.benchmark_suiteDisable C backend benchmarks:
python3 -m benchmarks.benchmark_suite --no-c-backendRun workload capability matrix check:
python3 -m benchmarks.check_framex_workloadsExample with custom sizes:
python3 -m benchmarks.benchmark_suite \
--rows 500000 \
--array-elements 4000000 \
--object-items 600000 \
--workers 1,2,4,8 \
--repeats 5 \
--warmups 1Run a data-size scaling sweep to see performance trajectory from small to larger datasets:
python3 -m benchmarks.benchmark_suite \
--rows 50000 \
--scaling-sizes 10000,50000,100000,250000,500000 \
--repeats 3 \
--warmups 1Default output directory: benchmarks/results
benchmark_results.jsonbenchmark_results.csvbenchmark_report.mdbenchmark_report.html(self-contained visual report with inline SVG charts)framex_workload_check.jsonperformance_speedup.png(if matplotlib installed)parallel_processing_scaling.png(if matplotlib installed)multiprocessing_scaling.png(if matplotlib installed)memory_peak_rss.png(if matplotlib installed)