我编写了一段DolphinDB代码,将两个矩阵与浮点型相乘。我发现DOUBLE矩阵的dot
乘法比FLOAT矩阵的乘法快一点。但这对于add
和mul
之类的其他运算符并没有发生。我想了解为什么会这样。
在我的Ubuntu上,我在两个矩阵上测试了mul
和dot
运算符的执行时间。对于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