谁比较熟悉函数优化啊

[复制链接]
dengdc 发表于 2015-2-27 20:37 | 显示全部楼层 |阅读模式
谁比较熟悉函数优化啊
quray1985 发表于 2015-2-28 20:08 | 显示全部楼层
函数优化和提高代码的效率是一回事吗?
edishen 发表于 2015-2-28 18:07 | 显示全部楼层
软件+算法都要比较熟悉的人
quray1985 发表于 2015-2-28 17:06 | 显示全部楼层
不太懂,是不是代码效率的问题?
smilingangel 发表于 2015-2-28 13:36 | 显示全部楼层
函数优化就是算法的优化的吧,,这个是需要多做工作的。
598330983 发表于 2015-2-28 12:23 | 显示全部楼层
比如,太精简,考虑的不全面
598330983 发表于 2015-2-28 12:23 | 显示全部楼层
简短扼要就是精简的精髓,不过这也有弊端
 楼主| dengdc 发表于 2015-2-27 20:58 | 显示全部楼层
大家知道的真多,结贴了
heweibig 发表于 2015-2-27 20:57 | 显示全部楼层
函数优化是一门学问   这个就看个人的功力了   呵呵    同样是实现某种功能功能可能有多种实现途径   但最优的方案通常只有一个   呵呵   多多努力   对算法本身需要有一定了解   呵呵
lizye 发表于 2015-2-27 20:57 | 显示全部楼层
函数优化是指运行效率的优化,优化后的函数执行速度应高于优化之前。

比如,这函数执行的是从指定数v累加计算一直到指定max的计算结果。
但这个写法效率上讲并不高,因为是用for循环逐步累加的。对于有
较好数学底子的人来说,只要一行代码一个算式即解决。
function test(v:Int,max:Int){
  for (i=0;i<max;i++){
    v = v + i;
  }
  return v;
}

诸如此类的函数,如果max数值不是很大的话或者调用频率很高的话对主程序速度影响不大。但如果max数值很大,而且函数每秒要调用好多次就会显现出优化与不优化成倍的执行效率差异。
wuhany 发表于 2015-2-27 20:57 | 显示全部楼层
算法层面的优化是第一位的. 只有这些做到了最好. 上面的那些方法才更有意义.
 楼主| dengdc 发表于 2015-2-27 20:56 | 显示全部楼层
用常量来操作不是更简单些吗?
yszong 发表于 2015-2-27 20:55 | 显示全部楼层
是啊,这样可能会影响某些编译器的优化——比如,自动内联。
jlyuan 发表于 2015-2-27 20:55 | 显示全部楼层
如果一个函数只在实现它的文件中被使用,把它声明为静态的 (static)以强制使用内部连接。否则,默认的情况下会把函数定义为外部连接。
wyjie 发表于 2015-2-27 20:54 | 显示全部楼层
以前还没注意到这个问题
wyjie 发表于 2015-2-27 20:54 | 显示全部楼层
如果一个函数只在实现它的文件中被使用,把它声明为静态的 (static)以强制使用内部连接。否则,默认的情况下会把函数定义为外部连接。
zhenykun 发表于 2015-2-27 20:53 | 显示全部楼层
把本地函数声明为静态的(static)
zhanghqi 发表于 2015-2-27 20:53 | 显示全部楼层
是啊,这样可以使代码更有效率,而且可以生成更好的代码。
jiajs 发表于 2015-2-27 20:52 | 显示全部楼层
嗯,C++ 标准规定,如果一个 const 声明的对象的地址不被获取,允许编译器不对它分配储存空间。
huangchui 发表于 2015-2-27 20:52 | 显示全部楼层
尽可能使用常量(const)
zhaoxqi 发表于 2015-2-27 20:51 | 显示全部楼层
一般来说,所有函数都应该有原型定义。原型定义可以传达给编译器更多的可能用于优化的信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部

892

主题

13885

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部