[Migrated] For loops need more optimizations
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 3.4k
- Fork
- 126
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Issue automatically imported from old repo: https://github.com/EmbarkStudios/rust-gpu/issues/739
Old labels: t: enhancement,a: codegen
Originally creatd by hrydgard on 2021-08-30T12:50:21Z
Due to how for loops over a range work in Rust, a lot of scaffolding code is generated that is then expected to be optimized away, but in rust-gpu, that doesn't happen enough yet. We had a case where I had to change a for i in 0..8 {} to a while i < 8 { ...; i++ } loop to work around SPIRV-Cross making a right mess out of it.
Filing this issue to have something to point to from the code comment, mainly, not expectations for a quick resolution as I know it's a thorny one.
Guida per i contributori
Apri 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.
Direzione di ricerca
La issue cita i cicli for basati su intervalli di Rust, la generazione del codice di rust-gpu e SPIRV-Cross, ma non fornisce alcun file sorgente, test o punto di ingresso. Inizia individuando il commento nel codice a cui si fa riferimento e il percorso di codegen per i cicli basati su intervalli; il completamento richiederebbe di ridurre il codice ausiliario generato e confermare che SPIRV-Cross produca un output accettabile senza la soluzione alternativa con il ciclo while.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- compilers
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100