Boost 1.36 を使い始めたばかりです。これらのライブラリは、私が取り組んでいるアンマネージ C++ ソフトウェア プロジェクトで必要なコードの量を減らすのに非常に役立ちます。
しかし、これらのライブラリを使用しようとすると、コンパイル時間が 10 倍になりました。これは、ライブラリを使用することで得られる生産性の向上をほとんど相殺してしまいます。
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> 行列; 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 Library を最適な方法で使用していないだけですか?
それとも、仕事に間違ったツールを使用しているだけですか?