3

我刚刚开始使用 Boost 1.36。这些库对于减少我正在处理的非托管 C++ 软件项目中所需的代码量非常有用。

然而,当我尝试使用这些库时,我的编译时间增加了十倍。这几乎可以抵消我通过使用该库获得的生产力收益。

我正在使用具有 2GB RAM 和 VS 2003 的 3GHz Intel 双核。

我添加了一段代码。

#include “升压/数字/ublas/matrix.hpp”   
#include “升压/数字/ublas/vector.hpp”  
#include “升压/数字/ublas/matrix_proxy.hpp”  

typedef ublas::bounded_matrix <long double,NUM_OF_COLUMNS,NUM_OF_CATEGORIES,ublas::row_major> 矩阵;  
typedef ublas::bounded_vector <long double,NUM_OF_COLUMNS> 向量;  

void Print(const Matrix& 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);   

}

VS 2003有问题吗?
我知道 VS 2008 更快,但升级将是一个艰难的销售。
仅仅是Boost针对快速运行时间而不是快速编译时间进行了优化吗?
我只是以次优方式使用 Boost 库吗?
还是我只是在工作中使用了错误的工具?

4

2 回答 2

5

您是否尝试过使用预编译的标头?这包括 StdAfx.h 中的 boost 头文件或您用于预编译头文件的任何头文件?

于 2008-10-03T02:06:26.967 回答
1

您尝试过 Incredibuild吗?它将允许您在多台计算机上分发您的构建。我已经看到它成功使用了。

于 2008-10-03T02:10:05.617 回答