当向量变大时,程序变慢

时间:2017-01-14 15:44:53

标签: c++ opencv memory vector

在一个更大的程序中,我有一个for循环,在每次迭代中std::vector  生成cv::Mat矩阵,(每个元素来自与不同内核的cv :: filter2D调用)。每个这样的矢量大小约为90MB,并且应该是训练集中的一种情况。

当在另一个vector(或list中推回这些向量时,为了保存训练集中的所有情况),循环越来越慢(特别是filter2d需要越来越长,即使图像总是相同的大小)。当然内存消耗会增加,但是当使用100GB可用内存中的2GB时,效果已经很早就开始了。

任何想法如何加快速度? (Windows 8 x64,visual studio 2012 x64)

0 个答案:

没有答案