使用C ++ Boost库提高VS项目中的编译速度
时间:2020-03-06 15:03:31 来源:igfitidea点击:
我刚刚开始使用Boost 1.36. 这些库对于减少我正在从事的非托管C ++软件项目中所需的代码量非常有用。
但是,当我尝试使用这些库时,我的编译时间增加了十倍。这将大大抵消我通过使用该库所获得的生产率提高。
我正在使用具有2GB RAM和VS 2003的3GHz Intel Dual Core。
我添加了一段代码。
#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;
`
无效打印(常量矩阵和数量)
{
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库?
还是我只是使用了错误的工具来完成这项工作?
解决方案
我们是否尝试过使用预编译的头文件?那包括StdAfx.h中的boost头文件或者用于预编译头文件的头文件吗?
我们尝试过Incredibuild吗?它将允许我们在多台计算机上分发构建。我已经看到它成功使用了。