在我的 Java 源代码中,我必须经常执行以下几行:
vecX = EigenMat.multiply(vecX);
vecY = EigenMat.multiply(vecY);
EigenMat 是一个 N x N 矩阵,其中 N~40 vecX/vecY 是一个 N x 1 向量(实习生为 RealMatrix)
我使用 VisualFM 中的“Sampler”在我的代码中找到一些热点,然后
org.apache.commons.math3.linear.Array2DRowRealMatrix.<init>()
org.apache.commons.math3.linear.Array2DRowRealMatrix.multiply()
运行时间非常长。我不是 java 专业人士,但我认为每次乘法都会创建一个新向量。我可以重新分配旧的吗?
也许我应该切换到 JBLAS 以加快速度?
马蒂罗
编辑:仅单核