Si está en un disco duro giratorio y elimina una gran cantidad de archivos, es posible que tenga una asignación subóptima de algunos archivos. Si tiene un SSD, deberá hacer un perfil del proceso de construcción para determinar el cuello de botella real.
Solo para confirmar, el comando df -g
enumera 18.7 GB libres para el volumen del sistema operativo? Suponiendo que sí, no ha omitido ninguna configuración como limpiar instantáneas locales en la máquina del tiempo o vaciar la basura.
Para la situación de la unidad de disco duro, puede probarlo apagando la Mac después de eliminar los archivos de origen o copiarlos en otra unidad.
Después del reinicio, es posible que se ejecute durante un día (configure la Mac para que nunca se duerma) y la optimización de archivos activos comenzará a mover los archivos a los que no se accede a menudo desde la parte más rápida del disco duro.
Luego, mueva su código fuente hacia atrás e intente una compilación. En ese momento, si aún es lento, deberá ingresar los detalles específicos: use el comando time
para cronometrar las compilaciones y luego haga un perfil del sistema con vm_stat 5
o similar, como Activity Monitor para ver si está limitado por la RAM. o por CPU o por IO. iostat
también será muy útil para medir iops y las tasas de transferencia agregadas de lectura / escritura para que sepa cómo se accede a su almacenamiento momento a momento, mientras que clang
funciona.
Los pasos anteriores en mi máquina muestran que io y el almacenamiento tienen un impacto muy bajo en el compilador y en lugar de la CPU y la creación de subprocesos sería la forma de acelerarlo, pero mi base de código probablemente sea muy diferente a la suya.