es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

CMake se instala muy lentamente, pero mucho más rápido con ccache.

Así que encontré que mi compilación es muy lenta con CMake cuando hago la instalación. Un paquete en particular está tomando unos ~1:20 minutos para construir y ~1:40 para instalar.

No está instalando terabytes de datos, y la instalación solo mueve algunos archivos, por lo que me preguntaba por qué es tan lento.

Ahora encontré que si construyo con ccache, obtengo tiempos de compilación más rápidos incluso con una caché fría.

Ahora miré los tiempos de instalación, y el paquete bajó a ~40 segundos de tiempo de instalación. Todavía es mucho considerando que CMake está copiando solo ~50 MB, pero considerablemente más rápido que antes.

¿Cómo puede ser? ¿Hay algún tipo de conflicto de archivos que se resuelve con ccache?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en cmake y ccache, es posible que los tiempos lentos de construcción e instalación se deban a la competencia de archivos que se resuelve con ccache. Ccache es una herramienta que almacena en caché los archivos objeto y permite reconstrucciones más rápidas evitando la necesidad de volver a compilar el código que no ha cambiado. Esto puede resultar en mejoras significativas de velocidad en las compilaciones, incluso con una caché fría.

    Es posible que durante la instalación del paquete, haya algunos archivos que se estén modificando o accediendo de una manera que ralentiza el proceso de instalación. Al usar ccache, el proceso de construcción puede ser más rápido, lo que permite que la instalación se ejecute de manera más suave.

    Sin embargo, es difícil decir con certeza lo que está causando la ralentización sin más información sobre el paquete específico y el proceso de construcción. Puede valer la pena investigar la fuente del cuello de botella en el proceso de instalación para ver si hay alguna optimización que se pueda hacer.

Comments are closed.