Descrizione del problema: ogni modifica ricompila tutto il binario Rust in Docker causando tempi di attesa lunghi
Uso di cargo-chef per cache delle dipendenze riduce i tempi della fase di fetch ma il binario finale resta lento (~3 min)
Profilazione con rustc self-profile e LLVM mostra che LTO e fasi di ottimizzazione di LLVM consumano la maggior parte del tempo
Disabilitare LTO e simboli di debug riduce i tempi di compilazione a ~50 s
Impostare opt-level=1 sul crate finale e usare argomenti LLVM per ridurre l’inlining porta a ~40 s
Spezzare funzioni async grandi e usare Pin<Box<dyn Future>> abbassa ulteriormente le ottimizzazioni lente (~2 s su PhotosState::new)
Rifattorizzare dipendenze per rimuovere generici pesa sulla compilazione e riduce il tempo a ~32 s complessivi
In sintesi: da ~175 s a ~32 s grazie a ottimizzazioni progressive di LTO, ottimizzazione, inlining, rifattorizzazioni e dipendenze
Get notified when new stories are published for "🇮🇹 Hacker News Italiano"