Fortran Coder's Archiver
论坛
›
Fortran语法讨论
› 询问一个关于计算速度的问题
蒂姆邓肯
发表于 2016-12-26 19:56:24
询问一个关于计算速度的问题
假设a=x*y-m*n
请问是否写成
p=x*y
q=m*n
a=p-q
能提高计算速度,原理又是什么呢?
谢谢
fcode
发表于 2016-12-27 08:43:07
如果 p 和 q 的数据类型是匹配于运算的,那么可以这么改写。
并不能提高计算速度。反之,可能会降低运算速度。(这当然取决于编译器的优化性能)
在不考虑编译器自动优化的情况下,第一种写法可以充分利用缓存和寄存器来存放中间结果。
而第二种写法需要写入到内存里的变量里。因此,第一种写法会效率更高。
页:
[1]
查看完整版本:
询问一个关于计算速度的问题