Повышение скорости компиляции в проекте VS с использованием библиотек C ++ Boost - PullRequest
3 голосов
/ 03 октября 2008

Я только начал использовать 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(const Matrix& amount)<br> {</p> <pre><code>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 неоптимальным образом?
Или я просто использую не тот инструмент для работы?

Ответы [ 2 ]

5 голосов
/ 03 октября 2008

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

1 голос
/ 03 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...