в моем источнике Java я должен выполнить следующие строки очень часто:RealMatrix размножаются без Переприсвоить
vecX = EigenMat.multiply(vecX);
vecY = EigenMat.multiply(vecY);
EigenMat является N х N матрицу с N ~ 40 vecX/vecY является N х 1 вектор (стажер RealMatrix к)
Я использовал «Sampler» из VisualFM, чтобы найти некоторые горячие точки в своем коде и
org.apache.commons.math3.linear.Array2DRowRealMatrix.<init>()
org.apache.commons.math3.linear.Array2DRowRealMatrix.multiply()
имеет очень высокое время выполнения. Я не профессионал java, но я думаю, что каждое умножение создает новый вектор. Могу ли я переназначить старый?
Может быть, я должен переключиться на JBLAS, чтобы ускорить его?
Matyro
Edit: Одножильный только
Включен ли графический интерфейс? [Профиль] (http://stackoverflow.com/q/2064427/230513), чтобы направить ваше решение. – trashgod
Нет вовлеченного Gui и добавил таблицу hotspot/profile из VisualVM – Matyro
Как [jblas] (http://mikiobraun.github.io/jblas/) [сравнить] (http://jccaicedo.blogspot.com/2012_05_01_archive.html) ? Также рассмотрите [tag: jscience], который использует [tag: javolution]. – trashgod