Question sur les #include sur un gros projet
Bonjour,
J'ai repris un projet important en C++ sous Visual Studio 2015, il y a environ 1200 fichiers cpp et autant de .h répartie dans 13 projets dans Visual Studio, le tout générant un seul exe.
Le temps de compilation est de plus de 30 minutes.
Il y a des includes un peu dans tous les sens et j'essaye de structurer et limiter les dépendances au minimum pour gagner du temps. Chaque projet a dans ses param de compil son répertoire include et parfois celui d'autre projets.
La question que je me pose est : si je dégage tous le paramétrage des répertories d'inclusions dans les options de compilations dans tous les projets pour mettre dans chaque #include le chemin relatif in extenso est-ce que cela permettra de gagner du temps de compilation?
A priori je dirai que oui car le compilo ne devrait plus scanner des répertoires pour trouver chaque fichier mais l'ouvrir directement, mais avant d'éditer 1200 fichiers (je ferait un script pour), j'aimerai savoir si c'est un travail qui sera payant.
Est-ce que des personnes ont des éléments probants permettant d'avoir un avis pertinent sur ce sujet? voir un retour d'expérience.
Pour info, je suis sur d'autres pistes en parallèle, Incredibuild (bof), FastBuild (me paraît le plus intéressant), Ninja, Unity build (bourrin mais efficace avec Robust ou en manuel). J'ai aussi surement une autre blague dans ma compil car au bout d'un certain temps, je n'ai plus qu'un seul thread qui compile (et cela pendant plus de 15 minutes), alors qu'en début de compil tous mes cores travaillent.
Merci de m'avoir lu, et encore plus merci si vous avez des retours d'expérience.