Fortran Coder

查看: 316|回复: 1

[讨论] 询问一个关于计算速度的问题

[复制链接]

7

帖子

3

主题

0

精华

入门

F 币
44 元
贡献
23 点
发表于 2016-12-26 19:56:24 | 显示全部楼层 |阅读模式
假设a=x*y-m*n
请问是否写成
p=x*y
q=m*n
a=p-q
能提高计算速度,原理又是什么呢?
谢谢

回复

使用道具 举报

1148

帖子

12

主题

5

精华

论坛跑堂

Fcode跑堂

F 币
1128 元
贡献
892 点

新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2016-12-27 08:43:07 | 显示全部楼层
如果 p 和 q 的数据类型是匹配于运算的,那么可以这么改写。

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

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|QQ群|Fcode

GMT+8, 2017-12-18 14:49

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表