【问题标题】:Multi-threaded Matrix initializing in JavaJava中的多线程矩阵初始化
【发布时间】:2016-03-08 23:15:19
【问题描述】:

目前使用 JAMA 矩阵。

我的程序目前初始化了很多小矩阵(顶部大小为 20x20),然后进行一些小计算并读取结果。

大约 80% 的运行时间都花在了读取和初始化矩阵上,我想知道是否有一种方法可以实现多线程以提高速度。 (我知道像 OjAlgo 这样的东西非常适合多线程矩阵操作)但我所做的只是初始化矩阵并再次读取它们。

如果我使用另一个 Matrix 包,它会用多个线程初始化矩阵,还是初始化仍然是单线程的,但完成的算法是多线程的?

【问题讨论】:

    标签: java multithreading optimization matrix


    【解决方案1】:

    矩阵“内”的多线程不会对如此小的矩阵有任何好处。

    切换到内部使用 double[] 而不是 double[][] 的库可能会有所不同,但我的猜测是您应该关注如何(重新)使用矩阵。也许你的程序逻辑可以是多线程的。

    对于非常小的矩阵(2x2、3x3、4x4 ...),一些库具有专门的数据结构和算法,可以显着加快处理速度。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 2013-08-29
      • 2012-12-26
      • 1970-01-01
      相关资源
      最近更新 更多