【VB开源代码栏目提醒】:本文主要为网学会员提供“影响VB_NET2005程序运行速度的因素研究 - 讲义教程”,希望对需要影响VB_NET2005程序运行速度的因素研究 - 讲义教程网友有所帮助,学习一下!
邮局订阅号82-946360元/年技术创新软件时空《PLC技术应用200例》您的
论文得到两院院士关注影响
VB.NET2005程序运行速度的因素研究FactorResearchesonOperatingSpeedofProgramsDevelopedwithVB.NET2005济南铁道职业技术学院郑有增ZHENGYou-zeng摘要:衡量
VB.NET2005程序的好坏标准之一是看它的运行速度是否足够快。
影响
VB.NET2005程序运行速度的因素有硬件、软件等不同的方面。
主要就
VB.NET2005开发工具中影响
VB.NET2005程序运行速度的因素进行了实验和研究并给出了提高程序运行速度的几种方法。
关键词:
VB.NET2005程序速度影响因素因素研究中图分类号:TP311.11文献标识码:AbstractOneofthecriteriausedtoevaluateaprogramdevelopedwith
VB.NET2005isitsoperatingspeed.Variousfactorscanin-fluencetheoperatingspeedofaVB.NET2005programincludinghardwareandsoftware.Thisthesisconductsexperimentsandre-searchesonfactorsthatmainlyaffecttheoperatingspeedofaVB.NET2005programandoffersseveralwaystoquickenitsrunningspeed.Key
wordsVNET005OperatingSpeedEffectFactorFactorResearch文章编号108-05700107-3-89-引言目前微软开发的MicrosofVisualBasic.NET2005简称
VB.NET2005编程语言应用越来越普及。
为使
VB.
NET2005程序更加科学、合理它的执行速度是必须考虑的因素之一。
编写解决一个实际
问题的程序其思路、方法有多种但在用户看来各种方法都一样因为其功能表现相同。
可是程序运行的速度及机理大不相同。
根据笔者的上机实践和编程经验这里就影响
VB.NET2005程序运行速度的因素进行研究分析并给出提高程序运行速度的几种方法。
程序运行速度的测量方法为了比较不同因素对程序运行速度的影响必须对程序的运行速度进行测量即要有一个明确的衡量方法。
本文使用专门编写的测量
代码测量从程序运行开始到结束所耗费的时间来衡量程序的运行速度测量过程的
代码如下:PublicSubTimeTestByValBeginTimeAsDoubleByValEndTimeAsDoubleDimWithTimeAsStringWithTimeStrEndTime-BeginTime秒Console.WriteLineWithTimeEndSub将以上过程放入标准模块中作为不同受测程序的公用过程。
说明:BeginTime、EndTime接收从程序传送过来的由Timer函数返回的值。
Timer函数返回自午夜以来逝去的时间单位为秒精确到微妙。
BeginTime为受测程序运行的起始时间EndTime为受测程序运行的结束时间。
不同因素影响程序运行速度的实验、比较及结论2.1变量的声明方式在
VB.NET2005中变量的声明方式有两种:显式声明和隐式声明。
显式声明就是在程序的开始位置向系统描述程序中使用的变量的名称及类型隐式声明就是对程序中使用的变量不向系统描述根据需要直接使用。
如果向
系统描述了变量的名称但没有描述变量的类型也属于隐式声明。
隐式声明的变量系统都“创建为泛型对象然后可以使用任何内容填充该变量。
”即泛型对象变量可以被赋予各种数据类型的值。
这种类型的变量能顺利地处理溢出根据所赋数据类型执行数据变换运用比较灵活但使用这种变量将会明显降低程序的运行速度。
泛型对象变量一般也称为对象型Object变量。
因素影响测试实验:编写两段程序。
第一段程序中使用ABC三个变量但没有声明它们的数据类型它们会被系统默认为Object类型第二段程序则显式声明ABC的数据类型。
将两段程序分别测量循环1000000次所需要的时间。
测试结果:二者运行用时比较显式声明大约只需要非显式声明六分之一的时间。
另外在显式声明变量的类型时分别声明为
VB.NET2005中不同的数据类型发现程序的运行速度也不一样。
各种数据类型从快到慢依次为:ByteBooleanIntegerLongSingleDoubleCur-rencyDateStringObject。
主要原因在于不同的数据类型所占用内存不同。
结论:显式声明变量类型可明显提高程序运行速度要尽量避免使用Object类型变量。
说明:为了保证每个变量被明确说明在所创建的每个模块上要包含OptionExplicitOn。
设置的方法既可以直接输入也可以在
VB.NET2005开发环境中选择“工具”菜单标题再从下拉菜单中选择“选项”接着在弹出的“选项”对话框中单击“项目和郑有增副教授189--技术创新《微计算机信息》管控一体化2010年第26卷第7-3期360元/年邮局订阅号82-946《现场总线技术应用200例》软件时空解决
方案”选项选择“
VB默认值”然后在对话框界面右侧将“OptionExplicit”设为“On”。
以后每当创建一个新的模块这一短语就自动显示。
2.图片的添加方式在应用程序中经常需要在窗体上显示图片。
在窗体上添加图片的方式一般有两种:嵌入和装载。
嵌入图片是在窗体的界面设计阶段先在窗体上添加一个空白的图片框Pictureox控件然后通过其Image属性添加图片。
装载图片是在程序运行期间通过FromFile方法或itmap类的构造函数为图片框Picture-ox添加图片。
因素影响测试实验:编写两段程序。
第一段程序通过图片框Pictureox为窗体嵌入图片第二段
程序则用FromFile方法在程序运行过程中为窗体装载图片。
对显示图片的窗体显示、卸载100次分别测量两种情况下程序运行所需要的时间。
测试结果:二者运行用时比较嵌入图片比装载图片大约节省五分之一的时间。
结论:嵌入图片更节省时间使程序运行速度更快。
.3块IF语句的分支形式在V.NET005中块IF语句也称多行IF语句有三种形式:单分支块IF、双分支块IF、多分支块IF。
从语句功能的角度看一个双分支块IF语句可以写成两个单分支块IF语句而一个多分支块IF语句可以写成两个或多个双分支块IF语句也可以写成多个单分支块IF语句。
很多用户在编写程序时习惯用两个单分支块IF语句来代替一个双分支块IF语句。
因素影响测试实验:编写两段程序。
第一段程序编写一个双分支的块IF语句结构第二段程序则编写两个单分支的块IF语句结构两段程序都完成同样的任务。
将两段程序分别测量循环1000000次所需要的时间。
测试结果:二者运行用时比较双分支块IF程序段比单分支块IF程序段大约节省五分之二的时间。
另外通过测试实验发现多分支块IF语句比写成双分支块IF语句或写成单分支块IF语句也都更节省时间。
结论:完成同样的任务双分支块IF语句比单分支块IF语句使程序运行速度更快。
条件多于两个时多分支块IF语句更快。
.4相关类及其方法的应用在VNET005中有大量的类每个类又都有多种方法而每种方法都能完成特定的任务。
合理使用类及其方法不但能简化程序而且还能使程序速度更快。
例如对数组进行排序这是经常遇到的编程任务。
数组排序编程方法很多
常用的有插入法、冒泡法、比较法……等七、八种之多但不管用哪一种方法都需要编写专门的循环结构来进行排序。
而在V.NET005中有一个Array类它有一个Soat方法作用是对数组排序。
功能相同但它们的繁简度差别很大。
那么它们的速度差别又有多大呢且看如下测试实验。
因素影响测试实验:编写两段程序。
第一段程序用比较法排序编写循环结构第二段程序则用Array类的Soat方法排序两段程序都对同一个数组完成同样的任务。
将两段程序分别测量循环100000次所需要的时间。
测试结果:二者运行用时比较Soat方法排序只需要比较法排序二十分之一的时间。
结论:完成同样的任务V.NET005中的内部类及其方法比用户编写的程序快很多倍。
除了上述几种因素之外还有一个因素需要注意就是内存容量。
V.NET005应用程序都是基于Internet编写的程序都比较大。
当内存容量相对较小时程序的
代码和数据不能全部装入内存必须在执行过程中用硬盘来存储一部分程序。
那么无论何时程序需要硬盘上应用程序的一部分时必须执行I/O操作把这部分从硬盘上安装到内存中去。
程序越大用来访问硬盘的时间就越多运行程序的时间就越少从而降低程序运行的速度。
适当增加内存容量可以改善这种状况。
3结束语实验证明上述几种因素对V.NET005程序运行速度有着较大的影响。
在编写V.NET005程序时若显式地说明变量类型合理使用块IF语句及相关类和其方法、嵌入图片方式适当增加内存容量能有效提高V.NET005程序的运行速度。
本文作者创新点:1.给出了程序运行速度的测量方法.对影响V.NET005程序运行速度的因素进行了实验给出了测试结果3.给出了提高程序运行速度的几种方法。
参考文献1RodStephens著徐璐姜玲玲译.Visualasic005编程参考手册M.北京:清华大学出版社008:134RodStephens著徐璐姜玲玲译.Visualasic005编程参考手册M.北京:清华大学出版社008:56-5643RodStephens著徐璐姜玲玲译.Visualasic005编程参考手册M.北京:清华大学出版社008:1861884徐振明主编.Visualasic.NET程序
设计与应用M.北京:中国水利水电出版社007:405郑翠芳吴志杰等.基于
软件开发过程的软件缺陷管理研究J.微计算机信息.00713:010作者简介:郑有增196男汉族河南省人济南铁道职业技术学院信息工程系副教授学士主要从事软件工程及
计算机应用教学和研究。
Biography:ZHENGYou-zeng196-MaleHanethnicHeNanProvinceInformationEngineeringDeptJinanInstituteofRail-wayTechnologyachelorSoftwareEngineeringAndComputerApplicationTeachingAndResearch25014济南济南铁道职业技术学院信息工程系郑有增InformationEngineeringDeptJinanInstituteofRailwayTechnologyJinan2514ZHENGYou-zeng通讯地址:2514山东省济南市历下区经十路13777号中润世纪广场4号楼63室郑有增收稿日期:210.04.30修稿日期:010.07.15地址:北京市海淀区中关村南大街乙12号天作1号楼B座812室微计算机信息邮编:100081电话:010-62132436010-82168297T/F微计算机信息杂志旬刊每册定价:10元一年订价:360元欢迎投稿欢迎订阅190--