代码之家  ›  专栏  ›  技术社区  ›  Daiver

特征行加减性能

  •  0
  • Daiver  · 技术社区  · 6 年前

    在分析我的程序时,我发现以下几行代码是瓶颈

    // Some big nested loop
    {
        const auto inpRow = inpMap.row(counter);
        outMap.row(adjRow) -= inpRow;
        outMap.row(colInd) += inpRow;
    }
    

    outMap inpMap Eigen::Map<Eigen::MatrixRX<Scalar>> Eigen::MatrixRX 定义为 Eigen::Matrix<Scalar, -1, -1, Eigen::RowMajor> i、 e.行主矩阵。

    有没有办法提高这类行动的绩效(除外 parallel for (当然)

    1 回复  |  直到 6 年前
        1
  •  1
  •   ggael    6 年前

    • 确保启用了编译器优化, -O3 -march=native
    • 然后测量所需的时间并计算触发器,看看你离CPU的理论峰值性能有多远(在那个实验中禁用turboboost)