Во время профилирования моей программы я обнаружил, что следующие строки являются узким местом
// 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>
, то есть основная матрица строки.
Есть ли способ улучшить производительность таких операций? (Кроме parallel for
конечно)