【问题标题】:JAMA Matrix performanceJAMA 矩阵表现
【发布时间】:2013-08-23 08:50:27
【问题描述】:

首先,对不起我的英语不好,但我需要你的帮助。

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

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

【问题讨论】:

  • @blueArrow 请看this SO question
  • @hexafraction 你的问题是什么意思?我使用 JAMA 库。
  • @AlexeyOdintsov 我看到了这个问题,但到目前为止它对我没有帮助。

标签: java performance matrix profiler jama


【解决方案1】:

通常矩阵数学库未针对小矩阵的速度进行优化。 您可以通过使用一些stackshots 来亲眼看看,它们很可能会在内存分配和选项检查等开销功能中显示出很大一部分时间。

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

3x3 矩阵的逆运算也可以用比咖啡更少的代码完成 :) Wikipedia gives you the formula.

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多