Java JAMA矩阵性能

Java JAMA矩阵性能,java,performance,matrix,profiler,jama,Java,Performance,Matrix,Profiler,Jama,首先,很抱歉我的英语不好,但我需要你的帮助 我用JavaSwing开发了一个模拟程序,在这个程序中我使用了大量的矩阵计算。我的程序刚刚完成,但我需要加快我的表现。因此,我使用java visual vm profiler来识别性能问题。我认识到Jama矩阵的初始化需要很多时间。在运行我的程序后,JAMA为我分配了超过3MB的对象。那可真是太多了,不是吗?我想这就是为什么表现不好的原因 有没有比jama更好的矩阵库?我正在使用3x3矩阵,我需要乘法和求逆运算,或者我还能做些什么?通常矩阵数学库没有

首先,很抱歉我的英语不好,但我需要你的帮助

我用JavaSwing开发了一个模拟程序,在这个程序中我使用了大量的矩阵计算。我的程序刚刚完成,但我需要加快我的表现。因此,我使用java visual vm profiler来识别性能问题。我认识到Jama矩阵的初始化需要很多时间。在运行我的程序后,JAMA为我分配了超过3MB的对象。那可真是太多了,不是吗?我想这就是为什么表现不好的原因


有没有比jama更好的矩阵库?我正在使用3x3矩阵,我需要乘法和求逆运算,或者我还能做些什么?

通常矩阵数学库没有针对小矩阵的速度进行优化。 你可以自己看一些,这可能会在内存分配和选项检查等开销函数中显示大部分时间

你可以做的是(我已经做过)编写特殊用途的例程来进行乘法和求逆,因为你知道矩阵是3x3。 乘法很简单,你可以展开整个过程

3x3矩阵的求逆也可以用比咖啡更少的代码完成:)


无论您做什么,都要尽量减少内存分配。

通常,矩阵数学库不会针对小矩阵的速度进行优化。 你可以自己看一些,这可能会在内存分配和选项检查等开销函数中显示大部分时间

你可以做的是(我已经做过)编写特殊用途的例程来进行乘法和求逆,因为你知道矩阵是3x3。 乘法很简单,你可以展开整个过程

3x3矩阵的求逆也可以用比咖啡更少的代码完成:)


无论你做什么,都要尽量减少内存分配。

@blueArrow请看@hexafraction你的问题是什么意思?我使用JAMA图书馆。@AlexeyOdintsov我看到了那个问题,但到目前为止对我没有帮助。@blueArrow请看@hexafraction你的问题是什么意思?我使用JAMA图书馆。@AlexeyOdintsov我看到了那个问题,但到目前为止它对我没有帮助。