找回密码
 加入
搜索
查看: 2588|回复: 3

[效率算法] 哪个代码的执行效率更高?

  [复制链接]
发表于 2015-5-23 16:07:44 | 显示全部楼层 |阅读模式
本帖最后由 fenhanxue 于 2015-5-23 16:15 编辑
Global $dll_file = 'A.dll';

;方案一
        $dll = DllOpen($dll_file)
        For $i = 1 To 1000000
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                DllCall ( $dll, "返回值类型", "函数名称" [, 类型1, 参数1[, 类型n, 参数n]] ) 
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
        Next
        DllClose($dll)
        Exit



;方案二
        
        For $i = 1 To 1000000
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                $dll = DllOpen($dll_file)
                DllCall ( $dll, "返回值类型", "函数名称" [, 类型1, 参数1[, 类型n, 参数n]] ) 
                DllClose($dll)
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
                ;此处为一堆其他代码
        Next
        Exit
方案一和方案二,哪一个效率高?
两个方案的不同处,在于DllOpen($dll_file)  和 DllClose($dll) 这两行代码的位置调整,其他地方都一样
发表于 2015-5-23 16:28:02 | 显示全部楼层
不考虑其他因素的话,肯定是第一种效率高吧。至少执行代码的行数都不一样。
 楼主| 发表于 2015-5-24 00:30:32 | 显示全部楼层
回复 4# netegg


    啊,那。。。
发表于 2015-5-24 20:33:46 | 显示全部楼层
具体问题具体分析,就这样说不清楚。
就你说的这代码,循环的效率不怎么高
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-23 21:04 , Processed in 0.079911 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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