Se sei su un disco rigido che gira e rimuovi una grande quantità di file, potresti avere un'allocazione non ottimale di alcuni file. Se disponi di un SSD, dovrai definire il profilo del processo di creazione per determinare il collo di bottiglia effettivo.
Solo per confermare, il comando df -g
elenca 18,7 GB gratuiti per il volume del sistema operativo? Supponendo di sì, non hai perso impostazioni come la pulizia di istantanee locali nella macchina del tempo o lo svuotamento del cestino.
Per la situazione dell'HDD, puoi testarlo spegnendo il Mac dopo aver rimosso i file sorgente o copiato su un'altra unità.
Dopo il riavvio, potresti correre per un giorno (imposta il Mac affinché non dorme mai) e l'ottimizzazione dei file attivi inizierà a spostare i file a cui non si accede spesso dalla parte più veloce del disco rigido.
Quindi - sposta il codice sorgente indietro e prova una compilazione. A quel punto, se sei ancora lento, devi entrare in specifiche: usa il comando time
per cronometrare le compilazioni e quindi profilare il sistema con vm_stat 5
o simili come Activity Monitor per vedere se sei vincolato dalla RAM o da CPU o da IO. Anche iostat
sarà molto utile per misurare gli iops e leggere / scrivere le velocità di trasferimento aggregate in modo da sapere come si accede al tuo spazio di archiviazione momento per momento mentre clang
funziona.
I passaggi precedenti sulla mia macchina mostrano che io e lo storage hanno un impatto molto basso sul compilatore e invece la CPU e il threading della build sarebbe come accelerarlo, ma la mia base di codice è probabilmente molto diversa dalla tua.