MyException - 我的异常网
当前位置:我的异常网» ASP » 长函数的效率有关问题

长函数的效率有关问题

www.MyException.Cn  网友分享于:2015-08-26  浏览:7次
长函数的效率问题
我写了一个长函数,里面除了简单的循环判断外(非多层嵌套循环),只执行过一次数据库查询,因为本意是想用函数带多个参数来提高代码的可重用性,实现本站内的万能调用和显示,所以函数长度现在已经很长了,有500行左右

测试:目前我在自己机器上调用了200次,发现速度并没有多大影响,跟重复200次的单纯的数据库查询(和函数同一条sql语句)速度差不到1秒,50次以内才0.2秒左右

问题:如果一个页面调用这个函数次数比较多的话,对页面执行效率会有多大影响,是否会增加服务器压力?跟直接写页面有多大区别?注:直接写页面就是根据不同要求写简单点的代码(例如上面单纯的查询数据库),不是说把函数中代码拷贝出来直接写到页面

还有,改写成class会不会比长函数执行效率更高些?还有什么好的方法能更好的实现这个吗?请大家帮忙,谢谢

------解决方案--------------------
给出编程语言。

vbscript还是c#?或者j script?

效率是依据语言的。举例, vbscript中对象操作是最耗时的。createobject方法的调用尽量降低到最少。其实对于jscript,c#也一样,通常做法就是调用一次createobject,然后再最短时间内一次性作完所有的事,close,释放资源。

其次,vbscript有一个惊人的“特点”,sub。

和其他语言不一样,vb处理sub的效率实在是非常的低!!!!!

可以尝试,一个页面里使用500个sub(函数),执行20次,相比jscript, c#,同样情况下,vbscript能把你弄死机,其他语言则不会。

所以,大致,长函数效率影响不大,唯一注意的就是object的处理,和“多”函数/“嵌套”函数的问题。
------解决方案--------------------
函数长短不会影响执行效率,但是会影响阅读,维护效率.

相反的,封装在一定程序上提高了维护和开发效率,却降低了执行效率
------解决方案--------------------
效率……最让人头痛的问题了
------解决方案--------------------
尝试取巧的办法。(首页执行30多次,够夸张。)

这样做,把执行30多次的过程合并到一个函数里面去. 就是调用1个函数,函数里循环30多次.

这么做可读性必然差了,不过万不得已,也只能牺牲一下了.

对于循环次数不定的情况,增加一个变量,指定循环次数.
------解决方案--------------------
sub 比起 function 应该要好些吧 , 因为它不需要考虑返回值的问题 。

文章评论

每天工作4小时的程序员
每天工作4小时的程序员
 程序员的样子
程序员的样子
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
我的丈夫是个程序员
我的丈夫是个程序员
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员应该关注的一些事儿
程序员应该关注的一些事儿
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
如何成为一名黑客
如何成为一名黑客
那些争议最大的编程观点
那些争议最大的编程观点
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
旅行,写作,编程
旅行,写作,编程
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
10个调试和排错的小建议
10个调试和排错的小建议
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
编程语言是女人
编程语言是女人
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员必看的十大电影
程序员必看的十大电影
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
鲜为人知的编程真相
鲜为人知的编程真相
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
一个程序员的时间管理
一个程序员的时间管理
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
中美印日四国程序员比较
中美印日四国程序员比较
我是如何打败拖延症的
我是如何打败拖延症的
漫画:程序员的工作
漫画:程序员的工作
Java程序员必看电影
Java程序员必看电影
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
代码女神横空出世
代码女神横空出世
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有