execution architecture / generated appraisal

“Python versus compiled” is the wrong comparison.

scikit-learn is layered. Its public API is Python, but estimator work may execute in Python orchestration, NumPy/SciPy, BLAS/LAPACK, sklearn-owned compiled code or mature external native libraries. Flow-scikit now maps those layers, profiles representative workloads and joins that evidence to the canonical benchmark.

estimator operations

Generated from the pinned sklearn public estimator surface.

runtime profiles

Representative fit/inference attribution rows.

native hotspots

Compiled/mixed paths with explicit retain/replace dispositions.

whole-estimator experiments

Experiments separating public API overhead from underlying kernels.

Evidence status: this is no longer a provisional static table. CI regenerates the estimator-operation inventory against the pinned sklearn version, checks estimator-surface drift, profiles representative workloads, ranks optimization opportunities and joins all 19 canonical benchmark rows to substrate and speedup evidence.

substrate signal

Where Flow wins is not random.

The current grouped result is descriptive evidence, not causal proof. It is nevertheless useful enough to prioritize engineering: Flow performs best on rows classified Python-bound, is mixed on boundary-heavy workloads, and currently loses every external-native-bound headline comparison.

sklearn fit substraterowsmean Flow speedupFlow win fraction

all headline rows

Every benchmark result is attached to an execution hypothesis.

AlgorithmDatasetSubstrateParityWinnerFlow speedupPython self share

roadmap logic

Replace selectively. Reuse deliberately.

Python-bound and boundary-heavy operations can rank highly when profiling shows orchestration cost, allocation pressure or repeated crossings. sklearn-owned compiled hotspots become direct Flow replacement targets when parity and benchmark evidence justify it. BLAS/LAPACK, liblinear, libsvm and other mature native kernels receive a reuse bias unless measurements show a real reason to replace them.

The generated optimization roadmap, native hotspot audit and full estimator inventory are the detailed source artifacts.

defensible conclusion

Whole-estimator compilation is a measurable hypothesis now.

Flow-scikit no longer needs to infer opportunity from whether sklearn source files happen to be Python or Cython. The repository can connect a win or loss to the substrate underneath the public API, the Python-visible runtime share, native crossings, parity status and current Flow implementation. That makes future rewrite decisions falsifiable rather than rhetorical.

Inspect the canonical benchmark →