为什么DolphinDB乘FLOAT矩阵比使用DOUBLE矩阵花费更多的时间

时间:2019-06-14 07:20:58

标签: matrix floating-point matrix-multiplication dolphindb

我编写了一段DolphinDB代码,将两个矩阵与浮点型相乘。我发现DOUBLE矩阵的dot乘法比FLOAT矩阵的乘法快一点。但这对于addmul之类的其他运算符并没有发生。我想了解为什么会这样。

在我的Ubuntu上,我在两个矩阵上测试了muldot运算符的执行时间。对于mul运算符,FLOAT矩阵大约是DOUBLE矩阵时间的一半。但是对于dot运算符,双矩阵比FLOAT矩阵快一点。

m = float(1..1000000)$1000:1000
n = float(1..1000000)$1000:1000
timer(100) { m.mul(n) }
timer(100) { m.dot(n) }

m = double(1..1000000)$1000:1000
n = double(1..1000000)$1000:1000
timer(100) { m.mul(n) }
timer(100) { m.dot(n) }

我得到的是:

  

经过的时间:43.722毫秒

     

经过的时间:3430.887毫秒

     

经过的时间:83.137毫秒

     

经过的时间:3289.049 ms

0 个答案:

没有答案