Повышение скорости компиляции в проекте VS с использованием библиотек C ++ Boost

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

Вопрос

Я только начал использовать Boost 1.36. Эти библиотеки были бы очень полезны для уменьшения объема кода, необходимого в неуправляемом программном проекте C ++, над которым я работаю.

Однако когда я попытался использовать эти библиотеки, время компиляции увеличилось в десять раз. Это в значительной степени компенсирует прирост производительности, который я получу, используя библиотеку.

Я использую двухъядерный процессор Intel с частотой 3 ГГц, 2 ГБ ОЗУ и VS 2003.

Есть фрагмент кода, который я добавил.

#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 (постоянная матрица и количество)
{

<код>
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);   
<р> <код>}

Проблема с VS 2003?
Я знаю, что VS 2008 быстрее, но обновление будет трудно продать.
Это просто, что Boost оптимизирован для быстрого запуска, а не быстрого времени компиляции?
Я просто использую Boost Library неоптимальным способом?
Или я просто использую не тот инструмент для работы?

Это было полезно?

Решение

Вы пробовали использовать предварительно скомпилированные заголовки? Это включает в себя заголовки повышения в StdAfx.h или любой другой файл заголовка, который вы используете для предварительно скомпилированных заголовков?

Другие советы

Вы пробовали Incredibuild ? Это позволит вам распространять вашу сборку на несколько компьютеров. Я видел, как он успешно используется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top