注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» 批处理if或不常用的功能标签是否影响运行效率?
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
hanyeguxing
发短消息
加为好友
hanyeguxing
(寒夜孤星)
当前离线
UID
14295
帖子
1739
精华
1
积分
4955
PB
4180
技术
255
捐助
0
阅读权限
254
来自
在地狱中仰望天堂
在线时间
1094 小时
注册时间
2009-6-11
最后登录
2012-5-31
荣誉版主
帖子
1739
积分
4955
技术
255
捐助
0
注册时间
2009-6-11
1
楼
跳转到
»
发表于 2011-4-8 13:21
|
显示全部帖子
效率必须和实际代码结合起来考虑才有意义
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)
TOP
hanyeguxing
发短消息
加为好友
hanyeguxing
(寒夜孤星)
当前离线
UID
14295
帖子
1739
精华
1
积分
4955
PB
4180
技术
255
捐助
0
阅读权限
254
来自
在地狱中仰望天堂
在线时间
1094 小时
注册时间
2009-6-11
最后登录
2012-5-31
荣誉版主
帖子
1739
积分
4955
技术
255
捐助
0
注册时间
2009-6-11
2
楼
发表于 2011-4-11 08:56
|
显示全部帖子
1,从广义上说,一个代码的效率包括设计、书写、执行等部分,不能单纯的只看运行部分的效率,就像都说“磨刀不误砍柴功”,可要为了砍一个小时的柴而磨一天的刀那就得不尝试了。
2,就运行效率,通常是指带循环的代码的效率,一个只运行一次的语句速度提高零点零几秒意义不大。
3,至于循环,不能只看单条语句的效率,更主要的是循环体的设计是否合理。而循环体,通常是由设计思路决定的。所以,分析很多求数学结果的代码会发现,合理的使用公式、已知捷径、最佳方案远比关注单条语句要重要。
只有先把以上问题解决了,关注单条语句的效率才有意义
至于你说的:
1,if exist目标存在不存在是否对运行时间有影响?
第一,if exist 是一个前提条件设置,如果文件存在与否不是批处理自身所能决定的,那么就没有效率的问题。
第二,如果说比较 if exist 和if not exist哪个效率更高。。。。他们之间的差异是可以忽略的。对于这两种语句的选择更多是后面的代码设计所决定的
2,一些不常用的功能标签?
:: 注释%var:*=%
此语句将导致批处理错误,即使将::改为rem依然,显然是因为即使是注释语句,批处理依然要处理,处理就要花时间。一般情况下,注释的耗时是可以忽略的,for内的注释尽量少用或放到for外注释以减少运行次数,而goto循环内的注释也是如此。
3,set /p?
如果用于等待用户输入,那么没有效率可言,因为决定这条语句执行完的主要因素是用户,而不是代码
如果用于输出不换行,除非换个思路,否则没有其他选择时就没有比较,没有比较就没有效率的高低
4,跳转?
goto或call的问题比较复杂,复杂在于他们本身耗时偏高,但决定是否使用和如何使用的却是设计思路
5,关于3楼的问题,当然是代码越短越好,变量名越短越好。凡是能用一个字母做变量名或标签的就尽量不要用多个。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)
TOP
返回列表
BAT教程&资料
VBS教程&资料
JS / JScript / JavaScript
PowerShell原创&转载
VBS求助&讨论
VBS原创&转载
出题挑战
有偿求助
电脑技术研讨
新手练功
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]