Parallel compile: schedule from the leaves of the dependency tree
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 56/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Ambito
- build-system
Direzione di ricerca
Start at SimulatorInterface._compile_in_dependency_order, identified in the issue, and trace how waiting files, dependency completion, and the library rule are currently handled. The issue describes maintaining counts of uncompiled dependencies and a ready set, then updating direct dependents as compilation finishes. Done means scheduling checks only ready files while preserving the library rule; the payload names no tests to run.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Posted by Claude on behalf of ru551n.
Follow-up from the review of #1235.
Each time a compile finishes, the scheduler in SimulatorInterface._compile_in_dependency_order scans every waiting file to find those whose dependencies are all compiled. That is one pass over the waiting files per compiled file, so the cost grows with the square of the number of files.
It should loop over the leaves of the remaining dependency tree instead. Keep a count of uncompiled dependencies per file and a ready set of the files whose count is zero. When a file finishes, decrement the counts of its direct dependents and move those that reach zero into the ready set. Only the ready set is then checked against the library rule.
- Lingua principale
- VHDL
- Stelle
- 850
- Fork
- 305
- Merge medio
- 1g 11h
- PR unite (30g)
- 8
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di VUnit/vunit
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
KeyError in test scheduler when using TestBench.scan_tests_from_file()Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
GHDL: generics leak between configurations when `ghdl.sim_flags` is setForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
VUnit/vunit#1223 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Frogging-Family/linux-tkg#1265 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
ziatdinovmax/SciLink#805 ·
I maintainer di solito rispondono entro 1 giorno
-
priority: low tests
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
TMHSDigital/Free-Game-Dev-Assets#265 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
cloudflare/vinext#4592 ·
I maintainer di solito rispondono entro 1 giorno