Benchmark Report

FrameX vs Native: Performance Dashboard

Snapshot from the local benchmark suite. Use this report to track wins, regressions, and where optimization work should focus next.

Run Performance Test

python3 -m benchmarks.benchmark_suite
Rows Captured: 42Generated: 2026-04-09 14:14:36 +07Read Full NarrativePerformance Test Guide

Highlights

Best FrameX Speedup

Groupby Key Sum (1 worker)

2.307xbaseline / FrameX

Slowest FrameX Case

Join Inner (1 worker)

0.633xbaseline / FrameX

Best C Backend Case

Reduction Min Max F64 (1 worker)

0.991xbaseline / FrameX

Performance

Native vs FrameX operation timings.

ScenarioWorkersnativeframexSpeedupWinnerRSS (native/framex)
Filter Val2 Gt 5001118.7 µs76.8 µs1.545xFrameX Side /
Groupby Key Sum Mean1454.2 µs207.2 µs2.192xFrameX Side /
Join Inner1380.2 µs600.4 µs0.633xBaseline Side /
Ndarray Np Sin Dispatch1197.1 µs165.3 µs1.192xFrameX Side /
Ndarray Sum16.2 µs7.8 µs0.800xBaseline Side /
Sort Val112.371 ms2.422 ms0.979xBaseline Side /

Parallel Processing

Threaded kernel scaling by worker count.

ScenarioWorkersnativeframexSpeedupWinnerRSS (native/framex)
Numeric Kernel Threads1134.8 µs139.8 µs0.964xBaseline Side /
Numeric Kernel Threads2147.9 µs178.6 µs0.828xBaseline Side /
Numeric Kernel Threads4257.3 µs265.0 µs0.971xBaseline Side /

Single Core

Single-worker baseline overhead and throughput.

ScenarioWorkersnativeframexSpeedupWinnerRSS (native/framex)
Numeric Kernel190.2 µs142.0 µs0.635xBaseline Side /

Multiprocessing

Process-based object-heavy workload scaling.

ScenarioWorkersnativeframexSpeedupWinnerRSS (native/framex)
Object Kernel Processes1429.862 ms422.515 ms1.017xFrameX Side /
Object Kernel Processes2466.965 ms421.897 ms1.107xFrameX Side /
Object Kernel Processes4488.280 ms472.171 ms1.034xFrameX Side /

Memory

Runtime and peak RSS comparisons.

ScenarioWorkersnativeframexSpeedupWinnerRSS (native/framex)
Filter Val2 Gt 5001151.8 µs93.9 µs1.617xFrameX Side168.06 MB / 168.06 MB
Groupby Key Sum1434.5 µs188.4 µs2.307xFrameX Side168.56 MB / 168.56 MB
Ndarray Np Sin Dispatch1198.3 µs188.3 µs1.053xFrameX Side168.61 MB / 168.59 MB

C Backend

FrameX Python backend vs C backend kernels.

ScenarioWorkerspython_backendc_backendSpeedupWinnerRSS (python_backend/c_backend)
Elementwise Add F6416.4 µs6.7 µs0.954xBaseline Side /
Elementwise Scalar Mul F6418.4 µs9.3 µs0.901xBaseline Side /
Reduction Mean F6417.5 µs7.6 µs0.986xBaseline Side /
Reduction Min Max F64147.1 µs47.5 µs0.991xBaseline Side /
Reduction Sum F6417.4 µs7.7 µs0.969xBaseline Side /

Workload Capability Matrix Check

Automated runtime checks from benchmarks.check_framex_workloads.

WorkloadStatusRuntimeDetail
Single-machine ETL (~100MB–30GB)PASS248.01 msETL parquet round-trip + filter/groupby/sort succeeded
Analytics with joinsPASS2.16 msJoin produced 60000 rows as expected
ML preprocessing (mixed numeric + categorical)PASS8.21 msMixed numeric/categorical preprocessing flow succeeded
Large NumPy operationsPASS8.55 msNEP13/18 dispatch and chained ndarray ops succeeded
Distributed clusters (multi-node)PARTIAL0.15 msNeither Ray nor Dask distributed backend is installed
GPU accelerationPARTIAL0.08 msCuPy not installed; GPU path unavailable in this environment
Production streamingPASS0.35 msMicro-batch StreamProcessor API succeeded with transform pipeline