La interfaz de caché ccache para gcc, g ++, gfortran, ... funciona muy bien para mí. Como su sitio web dice
ccache es un caché de compilador. Actúa como un preprocesador de almacenamiento en caché para C/C++ compiladores, utilizando el compilador -E y un hash para detectar cuándo se puede satisfacer una compilación desde caché. Esto a menudo resulta en una aceleración de 5 a 10 veces en compilaciones comunes.
En Debian/Ubuntu, acaba de hacer 'apt-get install ccache
' y crear enlaces simbólicos en, por ejemplo, con los nombres /usr/local/bin
gcc
, g++
, gfortran
, c++
, ... que apuntan a /usr/bin/ccache
.
[EDITAR ] Para hacer esto más explícito en respuesta a algunos de los primeros comentarios: Esto proporciona esencialmente encabezados precompilados y fuentes de almacenamiento en caché de un trozo más grande del paso de compilación. Por lo tanto, utiliza una idea que es similar a los encabezados precompilados y la lleva más allá. Las aceleraciones pueden ser dramáticas, un factor de 5 a 10, como dice el sitio web.
En realidad, gcc maneja PCH bastante bien. Si existe un #define antes de incluir el pch, simplemente no se usa el pch y se usan los normales. También es posible que desee considerar actualizarse un poco, PCH existe ahora desde hace unos cinco años en gcc y ya no es exactamente sangrado. – hirschhornsalz
Además de ccache, también se puede usar distcc en varias máquinas. –
@drhirsch: Soy un usuario de gcc cauteloso. Cada vez que hay una nueva versión, algo se rompe. Para mí, cinco años todavía está sangrando. –