He estado probando diferentes métodos para mejorar el tiempo que lleva compilar todo mi proyecto de c ++. Actualmente lleva unos 5 minutos. Experimenté con distcc, ccache y otros. Recientemente, descubrí que si copio todo mi proyecto en una unidad RAM y luego compilo desde allí, reduce el tiempo de compilación al 30% de su original, solo 1.5 minutos.
Obviamente, trabajar desde la unidad de RAM no es práctico. Entonces, ¿alguien sabe de alguna manera en que puedo forzar al sistema operativo a mantener siempre un determinado directorio en caché ? Todavía quiero que el directorio se sincronice de nuevo en el disco de manera normal, pero siempre quiero una copia de los datos en la memoria también. es posible?
EDITAR:
Como una posible solución, solo pensamos en lanzar un demonio que se ejecuta rsynccada 10 segundos más o menos para sincronizar la unidad de disco con una unidad de RAM. Luego ejecutamos la compilación desde la unidad RAM. El rsynces increíblemente rápido, pero ¿funcionaría realmente? Seguramente el sistema operativo podría hacerlo mejor ...
timetu compilación y compartir el resultado con nosotros? Disiparía alguna controversia creciente. make clean && /usr/bin/time -v make(no use el timecomando incorporado bash )
timebash incorporado ( help time) tiene muchos menos detalles (sin opción detallada) que el tiempo GNU ( man time) con respecto a la E / S, cambios de contexto, ...