| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1528 人关注过本帖
标题:谁的效率高?
只看楼主 加入收藏
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 

旧东西,没这个必要!


Finding!!!
2006-06-20 23:32
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-20 23:35
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 

石头问题.老问题!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-20 23:57
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
以下是引用songweiwen在2006-6-20 23:07:06的发言:

"所以pow(2,count-1)+pow(2,count-1)次abs()函数的调用>pow(2,count)"
你这话的意思是宁可循环操作,也不调用函数,因为函数的代价太大了.
也就是说改后的程序效率不如没改的.

宁可循环操作,也不调用函数.有道理!

可惜你没看程序,其实在循环中也调用了函数Calculate(int count,int sum)啊!
不过还是谢谢你!在你的话中到经过头脑分析的东西!我也受益!   听了怎么这么难受

再怎么的不也N次abs()函数的调用么

我也不多说了,C版怎么人人都跟要吃人似的.不是来学习,是来攀比出难题看别人献丑的
你就记住用了函数,需要一个寄存器储存它的返回值和保护调用现场(大概是状态寄存器)用来使运行回到调用地点
.然后调用的时候再读取寄存器内的值.而且系统不会记忆这个函数返回值即使同个函数,
调用一次他就会从新运行一次
全局函数不但危险,效率也很满,系统需要到数据区去取这个变量,又多了一个寻址,寻址是系统最费时间的
当你写的代码编译器编译时,它会试图在语义分析阶段会用代码优化器来优化这个代码.
编译器编译阶段主要就是这个费时间,那些词法分析语法分析不费时间.
所以尽量用多的循环在外面,以免破坏系统的优化
(以后少在C区讨论了



嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-21 19:57
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
有错别字和打错的地方
希望大家能看出来,不要挑我刺了
我打快了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-06-21 19:58
songweiwen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-2-19
收藏
得分:0 

Finding!!!
2006-06-21 20:54
快速回复:谁的效率高?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011560 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved