我有两个大矩阵 D (4096 x 40) 和 W (40 x 2800)。

当我使用 @time R = D*W 时,它​​会提供以下统计信息:

38.449856 seconds (1.40 G allocations: 20.932 GiB, 55.88% gc time)

55.88% 的 gc 时间让我震惊。必须有更好的方法来进行这种简单的矩阵计算。对这个 Julia 新手有什么想法吗?

最佳答案

您需要提供有关如何生成 DW (或至少它们的类型是什么)的更多信息。

这就是我得到的:

julia> D = rand(4096, 40); W = rand(40, 2800);

julia> @time R = D * W;
  0.081237 seconds (7 allocations: 87.500 MiB, 6.74% gc time)

关于matrix - 为什么简单的矩阵乘法在 Julia 中占用了如此多的垃圾收集器时间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59197607/

10-13 05:19