Я только начал использовать 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 неоптимальным образом?
Или я просто использую не тот инструмент для работы?