次のような uBLAS マトリックスがあります。
boost::numeric::ublas::matrix<double> mat(50000,50000);
行列に対する一連の計算が完了したら、そのメモリを解放します。
docsmat.clear()
によると、「マトリックスをクリアする」ものを使用しています。しかし、私のプログラムはメモリ不足を続けています。
ヘッダーを掘り下げると、次のことがわかります。
void clear () {
std::fill (data ().begin (), data ().end (), value_type/*zero*/());
}
したがって、 には明確なセマンティクスの問題がありclear()
ます。
問題は、メモリが確実に解放されるようにするにはどうすればよいかということです。