J’utilise les options du programme Boost , et la compilation d’un très petit code C ++ avec cela prend un certain temps (10 secondes, voire plus). Il a fallu 1 seconde pour comstackr le code sans la bibliothèque boost.
Une idée de comment augmenter le temps de compilation / liaison avec boost bibliothèque? C’est multi-plateforme, donc je dois comstackr le code avec Mac OS X / Linux / PC.
Il n’y a pas grand chose à faire au-delà des astuces habituelles:
boost/thread.hpp
, mais également un sous-répertoire avec des en-têtes spécifiques, tels que boost/thread/shared_mutex.hpp
), .cpp
. Si vous l’incluez dans un en-tête, il doit être compilé à chaque fois qu’une unité de traduction comprenant cet en-tête est compilée. En règle générale, essayez de minimiser la quantité de code que vous avez dans les en-têtes, Enfin, une dernière option consiste simplement à ne pas utiliser ces bibliothèques Boost spécifiques.
J’utilise parfois certaines bibliothèques Boost tôt, par commodité, et si / lorsque le temps de compilation est trop mauvais, je commence à regarder quelles bibliothèques sont coûteuses à comstackr et lesquelles pourraient être remplacées par un code relativement simple. Boost est souvent gêné par l’exigence d’être aussi général. Si vous n’avez pas besoin de quelque chose qui fonctionne sur des compilateurs de 8 ans, ou qui ne soit pas obligé de travailler sur autant de types différents, alors vous pourrez peut-être écrire un simple remplacement qui fonctionne pour vous et qui ne prend presque pas de temps. comstackr.
J’ai eu un bon succès avec l’ idiome de pare-feu du compilateur pour réduire les temps de compilation.