关于运算时间和编译器优化的问题

C语言 码拜 5年前 (2016-05-06) 369次浏览
VS2010环境下,本人有进行搜索但还是不知道VS在哪查看编译器,所以各位就当本人用的VS2010默认的编译器吧
假如一个很复杂的而且接下来要参与很多运算的系数,直接在开头用变量接收,在后面直接使用
会比在后面每次要用的时候计算快吗?
本人想知道编译器会不会对这种重复出现的式子进行优化
测试起来有点困难,毕竟同样的代码机器也会跑出不同的时间
解决方案

10

不知道你说的具体是什么情况,你要懂的话可以看一下反汇编代码,看有没有优化,一般debug是不会优化的,而release是会有一些优化的,但函数调用一般不会被优化

30

看编译器有没优化,你要去看他生成的汇编代码,通常来说你说这种对效率的影响很小很小,你要优化主要要从宏观上对算法的优化

15

循环内部的公有 计算,聪明的编译器,会提取出来,提前计算
跟手工优化差不多
但不是全部编译器会这样的
也不是全部这种,优化,编译器都能做的
这种可以适当手动优化
前提是,这块代码,是执行最多的代码,耗时最长的代码
不然的话,作用不大
这种优化循环的做法,似乎也已经形成编程规范了
应该很流行的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于运算时间和编译器优化的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)