Domanda

Ho appena iniziato a utilizzare Boost 1.36. Queste librerie sarebbero molto utili per ridurre la quantità di codice necessaria nel progetto software C ++ non gestito su cui sto lavorando.

Comunque quando ho provato ad usare queste librerie i miei tempi di compilazione sono aumentati di dieci volte. Ciò compenserebbe praticamente i guadagni di produttività che riceverei usando la libreria.

Sto usando un Intel Dual Core 3GHz con 2 GB di RAM e VS 2003.

Esiste uno snippet del codice che ho aggiunto.

#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; amount)
{

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);   

}

Il problema è con VS 2003?
So che VS 2008 è più veloce, ma l'aggiornamento sarà una vendita difficile.
È solo che Boost è ottimizzato per tempi di esecuzione rapidi e non rapidi di compilazione?
Sto solo usando la libreria Boost in un modo non ottimale?
O sto solo usando lo strumento sbagliato per il lavoro?

È stato utile?

Soluzione

Hai provato a usare intestazioni precompilate? Ciò include le intestazioni boost in StdAfx.h o qualsiasi file di intestazione che usi per le intestazioni precompilate?

Altri suggerimenti

Hai provato Incredibuild ? Ti permetterà di distribuire la tua build su più computer. L'ho visto usato con successo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top