计算密集特征::矩阵中所有行之间距离的最快方法

时间:2014-03-04 12:45:12

标签: c++ performance eigen

我试图使用Eigen计算1000x1000矩阵中每对行之间的欧氏距离。到目前为止我所拥有的是这样的:

for (int i = 0; i < matrix.rows(); ++i){
    VectorXd refRow = matrix.row(i);
    for (int j = i+1; j < matrix.rows(); ++j){
        VectorXd eleRow = matrix.row(j);            
        euclid_distance = (refRow - eleRow).lpNorm<2>();
        ...
    }
}

我的代码包含其他代码,此处替换为“...”但是为了测试性能,我已将其删除。

现在我不认为这会以光速运行,但它比我预期的要多得多。我在使用C ++ \ Eigen库时做错了什么可能会减慢它的速度? 还有其他首选方法吗?

0 个答案:

没有答案