Fortran Coder

标题: 询问一个关于计算速度的问题 [打印本页]

作者: 蒂姆邓肯    时间: 2016-12-26 19:56
标题: 询问一个关于计算速度的问题
假设a=x*y-m*n
请问是否写成
p=x*y
q=m*n
a=p-q
能提高计算速度,原理又是什么呢?
谢谢


作者: fcode    时间: 2016-12-27 08:43
如果 p 和 q 的数据类型是匹配于运算的,那么可以这么改写。

并不能提高计算速度。反之,可能会降低运算速度。(这当然取决于编译器的优化性能)
不考虑编译器自动优化的情况下,第一种写法可以充分利用缓存和寄存器来存放中间结果。
而第二种写法需要写入到内存里的变量里。因此,第一种写法会效率更高。





欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2