用VB写程序一段时间了,最近关于效率的问题一直困扰我,虽然随着硬件处理能力的提高,有时对应用程序的效率要求不再那么高,但我还是想知道答案。
我们知道实现同样功能的程序会有很多种不同的流程或表达方式,但我们不知道哪一种更好一些。
比如子程序是大一些好还是少一些好,是多写几句运算代码还是多用几个判断语句好,是使用FOR NEXT好还是用DO LOOP好,部分相同部分不同的子程序是写成两个子程序还是写成一个子程序然后通过判断语句来控制好。就是不同的语句也有不同的执行时间和占用不同的内存。
当然有人会说不同的情况以上情况的答案也会不同,因此没有绝对的答案,可问题是有没有一种一般性规律可以遵循。比如使用ADO控件比使用ADO对象要多占多少内存,在当前主流硬件上这些效率方面的问题是不是可以忽略不计等。
我们知道实现同样功能的程序会有很多种不同的流程或表达方式,但我们不知道哪一种更好一些。
比如子程序是大一些好还是少一些好,是多写几句运算代码还是多用几个判断语句好,是使用FOR NEXT好还是用DO LOOP好,部分相同部分不同的子程序是写成两个子程序还是写成一个子程序然后通过判断语句来控制好。就是不同的语句也有不同的执行时间和占用不同的内存。
当然有人会说不同的情况以上情况的答案也会不同,因此没有绝对的答案,可问题是有没有一种一般性规律可以遵循。比如使用ADO控件比使用ADO对象要多占多少内存,在当前主流硬件上这些效率方面的问题是不是可以忽略不计等。
《软件开发规范(VB)》的下载,里面对性能优化有介绍,你可以找来看看
印象中有以下:
1,频繁读取控件属性时候,用一个变量先保存,然后读这个变量;
2,long型比int型快;
3,所有变量显式声明其类型;
其实普通的软件开发用不着太过钻牛角尖,只有在对效率要求相当高的时候,才会严格注意这些。(不过很多要高效率的都不用vb)。 如果代码上无法优化了,就试试编译的时候打勾选择优化,不过有一定危险性。
正如您所说:虽然随着硬件处理能力的提高,有时对应用程序的效率要求不再那么高!
但你非要了解,其实参考一篇VB程序员指南,其实只要遵循微软指定的语法,还有对算法比较好,应该效率不错的。http://www.mndsoft.com/blog/blogview.asp?logID=446
自己稍微注意点就好了
倒是觉得Sql的优化比较有用
程序语言的优化感觉效果并不太好
除非你是搞嵌入式开发的