Questa documentazione è divisa in quattro parti, una per ciascuna delle cose di cui potresti aver bisogno:
| Parte | Usala quando vuoi | |
|---|---|---|
| Imparare | Tutorial | conoscere QuickRust usandolo, passo dopo passo |
| Lavorare | Guide pratiche | portare a termine un compito preciso |
| Consultare | Riferimento | verificare un comando, un’impostazione, un file o una garanzia |
| Capire | Spiegazioni | sapere perché QuickRust funziona in questo modo |
Non conosci ancora QuickRust? Inizia da La tua prima build con QuickRust.
Tutorial
Lezioni che ti guidano attraverso QuickRust facendoti fare qualcosa con esso.
- La tua prima build con QuickRust: crea, compila, rompi, ripara e testa un piccolo programma, e scopri l’output di QuickRust, le sue directory di build e la sua cache.
- Scoprire dove va il tempo di una build: compila un programma con dipendenze, trova il suo percorso critico, scopri perché è avvenuta una ricompilazione, confronta due build.
Guide pratiche
Indicazioni per un compito, per quando sai che cosa vuoi fare.
Installazione e passaggio a QuickRust:
- Come installare, aggiornare e disinstallare QuickRust
- Come provare QuickRust prima di farne il tuo cargo, e come tornare indietro
- Come scegliere e gestire le toolchain
- Come installare programmi con qrust install
Lavoro quotidiano:
- Come trovare gli output di build senza target/
- Come vedere i warning, gli errori e il log completo di una build
- Come compilare esattamente come fa Cargo
- Come mantenere la cache di QuickRust entro i limiti del disco
- Come usare sccache con QuickRust
Analizzare e migliorare le build:
- Come scoprire perché i crate sono stati ricompilati
- Come misurare l’effetto di un’impostazione di build
- Come esaminare e applicare le raccomandazioni di QuickRust
- Come esportare un report di build
- Come eseguire QuickRust in CI e porre controlli sul tempo di build
Riferimento
Descrizioni dei meccanismi, da consultare mentre lavori.
- Comandi: ogni comando e opzione di
qrust, i riferimenti alle esecuzioni, gli stati di uscita - Configurazione: i file di configurazione, la precedenza e ogni impostazione
- Variabili d’ambiente: che cosa legge QuickRust e che cosa imposta per Cargo, rustc e gli script di build
- Fast mode: ogni impostazione di build applicata dalla fast mode, quando, e come disattivarla
- Output: le righe
OK/FAIL/WARN/NOTE, e quando passa l’output di Cargo stesso - File e directory: che cosa conserva QuickRust e dove, e che cosa si può eliminare senza rischi
- Budget: il formato di
.qrust/budgets.tomle le sue metriche - Benchmark: scenari, ripetizioni e che cosa viene scartato
- Compatibilità con Cargo: che cosa passa invariato e che cosa è diverso
- Piattaforme: sistemi supportati, lacune note e i limiti dell’osservazione
- Schema del report di esecuzione: il report JSON con versione
- Specifica e Conformità: i requisiti che QuickRust implementa e dove se ne discosta
Spiegazioni
Discussione delle idee e delle decisioni alla base di QuickRust.
- Come funziona QuickRust
- Perché QuickRust è veloce per impostazione predefinita
- La cache degli artefatti
- L’early cut-off e il driver del compilatore di QuickRust
- Come QuickRust sa che una build è aggiornata
- Perché QuickRust possiede il proprio ambiente
- L’output delle build di QuickRust
- Misurare le build
- Sicurezza e privacy
- Ridurre il tempo di compilazione di Rust e l’ingombro su disco delle build: la ricerca da cui è partito QuickRust
I risultati dei benchmark e il loro metodo sono conservati insieme ai dati, in benchmarks/PROGRESS.md e benchmarks/README.md.
Come è scritta questa documentazione
Ogni pagina appartiene a uno dei quattro tipi descritti sopra e svolge soltanto il compito di quel tipo: un tutorial insegna facendo fare e non si dilunga nelle spiegazioni; una guida pratica dà indicazioni per un solo obiettivo; il riferimento descrive e non dà istruzioni; una spiegazione discute e non indica passaggi. Quando una pagina ha bisogno di qualcosa di un altro tipo, rimanda a esso con un link. Una nuova pagina va nella parte di cui svolge il compito, e gli esempi di output sono copiati da esecuzioni reali.