Nix Milan | 126 Members | |
| https://milano.nix.pizza/ | 10 Servers |
| Sender | Message | Time |
|---|---|---|
| 15 Jun 2026 | ||
Penso che configuri il servizio su nixos o darwin etc (ccache.enable più il resto tipo la directory della cache e i permessi) e poiSe ha funzionato puoi fare ccache --show-statsCome bonus lo puoi usare anche per la configurazione, tipo per packages unfree non presenti nei substituter che devi sempre compilare oppure quando applichi patch con gli overlay | 06:24:01 | |
Gli hash sono gestiti separati. Nix ha il suo hash della derivazione intera (file sorgente + compilatore + ...), mentre ccache ha gli hash dei singoli file sorgente quindi li riusa se non cambi i file di libone | 06:28:57 | |
| Se non ti funziona la cache per qualche file leggi https://ccache.dev/manual/4.7.4.html#:~:text=sloppiness Tipo se hai usato __DATE__ nel codice allora l'hash di quell'artefatto cambierà ogni giorno, e ccache lo può evitare usando sempre lo stesso seed | 06:37:06 | |
| Ultima cosa: mozilla ha anche https://github.com/mozilla/sccache per avere cache distribuite su network | 06:42:57 | |
| CCache approaccia il problema ad un altro livello e ti aiuta solo in parte, devi comunque ri-linkare tutto, ri-runnare la fase di configure. Non sono veramente "build incrementali". | 07:38:13 | |
| Also, funziona solo con C/C | 07:38:40 | |
| * Also, funziona solo con C/C++, non funziona con progetti Python/TypeScript ad esempio | 07:38:54 | |
| * CCache approccia il problema ad un altro livello e ti aiuta solo in parte, devi comunque ri-linkare tutto, ri-runnare la fase di configure. Non sono veramente "build incrementali". | 08:06:06 | |
| Già già | 10:19:23 | |
| Grazie, su questo ci devo pensare. Mi fido, ma non so risponderti | 10:19:48 | |
| La fase di configure è gestita da cmake giusto? quindi con il tuo metodo si salvano anche gli artifatti che genera lui e velocizzi il configure. Il linking è così lento? Forse se hai tante compilation unit inizia a pesare? | 10:25:28 | |
Se fai build incrementali rebuildi il minimo necessario a seguito di un cambiamento nel sorgente. Quindi se non cambi CMakeLists.txt, cmake non gira.A volte lo è, soprattutto su progetti grossi (tipo LLVM). Ma overall fare una builda pulita ogni volta è sbatti: CMake + script non ccachabili + linking. A meno che ci sia un blocker insormontabile vorrei le build incrementali Vere™. | 11:15:57 | |
| https://github.com/pdtpartners/nix-ninja (?) | 11:36:40 | |
| Dubito sia meglio di come hai fatto tu comunque | 11:37:35 | |
> Parses ninja.build files and generates a derivation per compilation unit.Aggressivo. Però non risolverebbe il mio problema, io voglio sostanzialmente impurità. Ovvero poter cambiare una dipendenza upstream senza necessariamente ricompilare downstream. | 17:19:14 | |
| Però interessante | 17:19:17 | |
| 17 Jun 2026 | ||
Download image.png | 07:51:44 | |
| Siamo già arrivati alla AGI | 07:59:01 | |
| SLOP | 10:59:00 | |