社区
PowerBuilder
帖子详情
代码执行效率大讨论
xiongxiao
2003-12-27 12:11:26
如一段代码经常要用,所以就可以写成函数,那么是在需要的地方直接用代码执行快一些呢,还是调用函数快,或者两者差不多,在上千万的大循环中,一点点细微的差别影响都是很大的,所以想知道到底怎样最快,还有,如果是全局函数又怎么样?
...全文
61
31
打赏
收藏
代码执行效率大讨论
如一段代码经常要用,所以就可以写成函数,那么是在需要的地方直接用代码执行快一些呢,还是调用函数快,或者两者差不多,在上千万的大循环中,一点点细微的差别影响都是很大的,所以想知道到底怎样最快,还有,如果是全局函数又怎么样?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiongxiao
2003-12-30
打赏
举报
回复
UP
brightstar
2003-12-29
打赏
举报
回复
运行效率大体上和OOP的层次是成反比的,OOP带来的是代码的高度重用,代价就是运行效率,但是我们常见的效率问题,有多少是因为外部调用还是内部调用的差别造成的呢,也许这个差别在对数据库的操作时间上都可以忽略不计的,当我们遇到更多的效率问题时,要从算法层多下工夫看看,还有数据库的优化及数据库设计上多弄弄。
总之一句话:差别是有的,但未必是瓶颈问题,要把焦点多注意主要问题上。
xiongxiao
2003-12-29
打赏
举报
回复
那这PB编译后,函数的调用与代码的执行到底是怎样一种情形?
blazingstar
2003-12-29
打赏
举报
回复
直接引用代码比调用函数快,调用函数在机器代码实现时,调用前要先将参数压入堆栈,调用结束返回时又要把调用前压入堆栈的数据弹出堆栈。
但从程序可读性和可维护性方面讲,还是用函数比较好。
而且对于PB来说直接引用代码和调用函数速度相差不大,如果是想真正提高速度可以将关键代码用VC或汇编实现,在PB中调用就可以了。
xiongxiao
2003-12-29
打赏
举报
回复
不知道编译后的程度是如何对在循环中的函数进行处理的,是放在内存中的某一地方等待调用吗?如果是直接写代码的话,是不是会与循环语句的代码连续放在一起?如果这两个问题为肯定的话,也就是说采用函数就会在每次调用都要多一次寻址时间(或者是两次,不知调用完后返回要不要寻原来的地址址?),现在内存的寻址时间一般是5ns左右(不太清楚),也就是0.000005秒*1千万=50秒,也就是说比直接用代码至少要慢50秒,不知这样的计算方法成不成立?
jeff_107
2003-12-29
打赏
举报
回复
计算机的处理速度哪是人能感觉的到的呢,更何况又是一句调用语句,呵呵
xhwly
2003-12-29
打赏
举报
回复
如果說函數慢一點的話,應該也就是多執行了調用函數這條語句,對整個程序來說應該是可以忽略不計的.
pbsql
2003-12-29
打赏
举报
回复
写成函数或存储过程,放到服务器上,客户端调用
sinkiangscorpio
2003-12-29
打赏
举报
回复
函数可以让维护代码方便,但影响速度,尤其是循环多的地方。
xirumin
2003-12-29
打赏
举报
回复
如果程序特别庞大, 我感觉函数反而会快一些
flyerlxg
2003-12-29
打赏
举报
回复
是呀,从速度上讲,当然是直接书写代码要快一点,但现在的电脑配置都这样高了,区区一点点速度上用户又能有什么分别呢。
从可维护性、可读性方面讲,那就不用我说了,时间一长就会显示出其方便性了。
feixianzhi
2003-12-29
打赏
举报
回复
机器配置都高了,函数代码都一样!
hzhxxx
2003-12-29
打赏
举报
回复
我一般使用用户对象,经常使用的函数放在全局的用户对象里面,应用初始化就创建
workhand
2003-12-29
打赏
举报
回复
现在的大部分机器性能都很好,对于调用函数和直接执行所带来的效率的不同几乎感觉不出来(当然是代码编写合理、规范)。不像以前的汇编,追求代码的简练,现在主要是代码的可维护性、可读性。所以跟随大家的意见了。
qianduo
2003-12-29
打赏
举报
回复
函数好,这样的话我想以后只要改一个地方就可以了。可维护性也好一点。
xiongxiao
2003-12-29
打赏
举报
回复
现在就关心速度方面的差别?比如要对几千万个无序数的进行单双判断,大家有什么好办法吗,用代码还是函数?如果可以,大家可以写一段简单的代码贴出来看看
joss
2003-12-29
打赏
举报
回复
当我们在写一些小程序时可能对函数的重要性不会那么重视,但是当做些大工程时就能显示体会那函数的好处了!
程序语言发展也告诉我们这个道理,面向对象技术所强调的就是可重用性和可读性,函数当前不可缺少。全局与局部函数的使用主要要看实例的要求!
brightstar
2003-12-29
打赏
举报
回复
PB编译后的东西,不论是PBD还是PBL,都离不开运行库(PBVMX0.DLL... ...)
所以PB还是伪编译的东东,这也是PB可以跨平台的原因,太底层的东西就要问SYBASE了.
如果不参与数据库访问,而且要求高效的大循环,还是不用PB的快.
victor07
2003-12-28
打赏
举报
回复
还是函数好,谁也不知道用户需求什么时候变,更难知道程序员将会错在哪里,而且这种效率上的降低可以说是微不足道的,在这下功夫还不如好好研究一下自己的算法效率。
hxd82
2003-12-28
打赏
举报
回复
同意楼上!!!函数很好维护,但是有一些地方可以直接复制代码!!
加载更多回复(11)
msbase.jar,mssqlserver.jar,msutil.jar
JDBC Driver for SQL Server:msbase.jar,mssqlserver.jar,msutil.jar
Thinking_in_java中文第4版(Word完全版)
推荐学习java必看书目,想学习java的下载看看
ssh工具下载
一个很好用的SSH工具,o(∩_∩)o...哈哈
浅谈
代码
的
执行
效率
(1):算法是关键
前一段时间在博客园里看到这样一篇文章,那位兄弟谈到程序
效率
的关键是“简短”。他说,“程序越简短,其可
执行
代码
就越少,就越有
效率
”,而在编写程序的时候,“要尽量改进我们的算法,而改进算法中最重要的一条,就是减少语句”。这句话从表面上似乎正确,但我认为性能这问题不能用“简短”这种方式去思考,否则会进入一些误区。我整理了一下思路,希望可以从几个方面把详细谈一下这个问题。 首先,如果说“简短的
代码
效
并行算法:如何利用并行处理提高算法的
执行
效率
?
时间复杂度是衡量算法
执行
效率
的一种标准。但是,时间复杂度并不能跟性能划等号。在真实的软件开发中,即便在不降低时间复杂度的情况下,也可以通过一些优化手段,提升
代码
的
执行
效率
。毕竟,对于实际的软件开发来说,即便是像 10%、20% 这样微小的性能提升,也是非常可观的。 算法的目的就是为了提高
代码
执行
的
效率
。那当算法无法再继续优化的情况下,我们该如何来进一步提高
执行
效率
呢?我们今天就讲一种非常简单但又非常好用的优化方法,那就是并行计算。今天,我就通过几个例子,给你展示一下,如何借助并行计算的处理思想对算法进行改造
PowerBuilder
1,108
社区成员
66,453
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章