[Interop #478] Benchmark Python→Flow package overhead, zero-copy paths and break-even batch sizes

Aperta
#496 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python, scikit-learn

Direzione di ricerca

Inizia dal parent issue #478 e dal confine di interoperabilità Python in flow-scikit. Esegui confronti nello stesso processo tra il wrapper e sklearn e Flow diretti, misurando importazione, costruzione, passaggio degli array, copie, chiamate e valori restituiti. Il lavoro è completato quando vengono riportati il numero di copie e i byte, gli input contigui supportati evitano copie nascoste dell’intero array, le dimensioni di crossover sono documentate e i workload rappresentativi raggiungono l’obiettivo prestazionale dichiarato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Parent: #478

flow-scikit also exposes Python interop, so Python callers can erase native wins through conversion, module loading or per-call FFI overhead. Treat that boundary as a separate performance surface.

Measure import/startup, estimator construction, ndarray/buffer handoff, copies/conversions, fit/predict call overhead and return conversion. Add zero-copy contiguous paths where ABI-safe, explicit behavior for non-contiguous/dtype-mismatched arrays, and batch-size crossover curves.

Acceptance: same-process Python wrapper vs direct sklearn and direct Flow measurements; copy bytes/counts reported; no hidden full-array copies on supported contiguous inputs; documented break-even sizes; representative wrapper workloads remain faster end-to-end where direct Flow has enough headroom.

Lingua principale
Python
Stelle
2
Fork
0
Merge medio
4h 33m
PR unite (30g)
9

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di godofecht/flow-scikit

Tutte le issue di godofecht/flow-scikit

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.