godofecht / godofecht/flow-scikit

[Perf #478] DecisionTree Digits: profile split search and recover sklearn-scale training throughput

Open
#482 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2
Forks
0
Avg merge
4h 33m
Merged PRs (30d)
9

Description

Parent: #478

Canonical v2 Digits: Flow fit 30.49 ms vs sklearn 16.84 ms and predict 0.123 ms vs 0.098 ms; end-to-end ~0.553x. Iris already wins ~6x, so the regression appears with feature/sample scale rather than basic API overhead.

Profile node construction, candidate-threshold enumeration, sort/re-sort work, impurity calculation, feature scans, sample partitioning, temporary allocation and tree memory layout. Compare number of evaluated thresholds/nodes with sklearn to distinguish algorithmic work from low-level throughput.

Acceptance: per-stage/node profiling; node/threshold operation counts; scaled samples/features/depth curves; preserve or improve current accuracy and learned-tree diagnostics; fit and predict separately reach >=0.95x, target >=1.05x; Iris must remain a Flow win.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Canonical v2 Digits DecisionTree comparison from parent #478 and profile node construction, threshold enumeration, impurity calculation, feature scans, partitioning, allocation, and tree layout. Compare threshold and node counts with sklearn across scaled samples, features, and depths. Done means separate fit and predict reach at least 0.95x while preserving accuracy, diagnostics, and the Iris performance win.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, scikit-learn
Domain
machine-learning, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.