Améliorez la vitesse de compilation dans les projets VS à l'aide de bibliothèques C ++ Boost

StackOverflow https://stackoverflow.com/questions/165386

Question

Je viens de commencer à utiliser Boost 1.36. Ces bibliothèques seraient très utiles pour réduire la quantité de code nécessaire dans le projet logiciel non géré C ++ sur lequel je travaille.

Cependant, lorsque j'ai essayé d'utiliser ces bibliothèques, mes temps de compilation ont été multipliés par dix. Cela compenserait à peu près les gains de productivité que je recevrais en utilisant la bibliothèque.

J'utilise un processeur Intel Dual Core 3GHz avec 2 Go de RAM et VS 2003.

Il y a un extrait du code que j'ai ajouté.

#include "boost/numeric/ublas/matrix.hpp"   
#include "boost/numeric/ublas/vector.hpp"  
#include "boost/numeric/ublas/matrix_proxy.hpp"  

typedef ublas::bounded_matrix <long double,NUM_OF_COLUMNS,NUM_OF_CATEGORIES,ublas::row_major> Matrix;  
typedef ublas::bounded_vector <long double,NUM_OF_COLUMNS> Vector;  

void Print (const Matrix & amp; montant)
{

Vector total;

total.clear();
for (int category = 0; category < NUM_OF_CATEGORIES; category++)
{
    PrintLine(ublas::row(amount, category));
    total += ublas::row(amount, category);
}

PrintLine(total);   

}

Le problème est-il avec VS 2003?
Je sais que VS 2008 est plus rapide mais la mise à niveau va être difficile à vendre.
Est-ce juste que Boost est optimisé pour des temps d'exécution rapides et non pour des temps de compilation rapides?
Suis-je en train d'utiliser la bibliothèque Boost de manière sous-optimale?
Ou est-ce que j'utilise simplement le mauvais outil pour le travail?

Était-ce utile?

La solution

Avez-vous essayé d'utiliser des en-têtes précompilés? Cela inclut les en-têtes de boost dans StdAfx.h ou le fichier d’en-tête que vous utilisez pour les en-têtes précompilés?

Autres conseils

Avez-vous essayé Incredibuild ? Cela vous permettra de distribuer votre build sur plusieurs ordinateurs. Je l'ai vu utilisé avec succès.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top