La compilación con un clang en el terminal es extremadamente lenta después de ver un mensaje que indica que mi disco está casi lleno. ¿Cómo restaurar el rendimiento?

1

Eliminé archivos, así que ahora tengo 18.7 GB de almacenamiento gratuito después de recibir el mensaje del buscador de que mi almacenamiento está casi lleno.

Aún así, la compilación es extremadamente lenta. Me pregunto si hay alguna configuración que haya omitido.

¿Cómo puedo remediar esto?

    
pregunta rwols 17.11.2016 - 14:16

1 respuesta

1

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.

    
respondido por el bmike 17.11.2016 - 22:34

Lea otras preguntas en las etiquetas