设为首页 收藏本站
查看: 403|回复: 0

[经验分享] ASP.NET和PHP性能对比

[复制链接]

尚未签到

发表于 2017-4-1 06:55:36 | 显示全部楼层 |阅读模式
  经过一些筛选,只选择一些代表性的看法进行翻译, 对于英文不是太好的朋友比较有用, 如果有翻译和知识点上的错误,请指出。
  首先, 排除偏激和未经测试的看法, 让我们来看看interscape和ttuttle怎么说
  interscape(MVP) :
  PHP是一个脚本语言, 而ASP.NET是一个面向对象, 编译性的语言。你不能让PHP在一个WINDOWS程序中运行, 但是你可以拷贝ASP.NET的代码并把它放到WINFORM程序里面, 而不用太大的修改。 但是如果你要谈及所有情况下的性能, 也许PHP会好一些, 不过我会为WEB开发选择OOP(面向对象编程)而不是step-thru(顺序编程)脚本编程方式。
  ttuttle:
  我不想去做任何专横武断(outrageous)的声明, 但是让我们来看一下一些事实:
  PHP已经被证明比ASP3.0稍微快一些
  ASP.NET比ASP3.0快3~5倍(一种类似于PHP的解析性脚本语言)(注:ttuttle这句出自于http://www.asp.net/whitepaper/whyaspnet.aspx)
  ASP.NET可以存放在缓存(Output Caching)中, 当页面第一次被访问和编译后, 它可以从缓存中得到。 没有任何页面处理器会比缓存更快。
  在默认安装下,ASP.NET是编译性语言, 而PHP和ASP3.0则是解释性语言。
  面对这两种孑然不同的解释, 我再来看看ScottGu和 wysiwyg 还有 Xanderno怎么说
  ScottGu(http://www.asp.net的版主):
  ASP.NET是编译性质而不是解释性质的。 所以语句可以被转换为更快的执行时间。
  而PHP方面也有ZEND在出售其收费的编译器ADD-ON.
  然而, 我们已经看到Nile benchmark(注:一种测试的性能基准,可以参看其白皮书http://www.gotdotnet.com/team/compare/Nile %20Benchmark%20Results.doc)中, ASP.NET和SQL这种组合的速度比PHP和MYSQL快 2~3倍, 且近乎5倍快于PHP和ORACLE的运行效率(即便ZEND编译器和缓存器已经安装)
  wysiwyg:
  虽然这个主题是ASP.NET VS PHP, 但是我来说一下我测试的事实却是 ASP要稍快于
ASP.NET在ASP中, 这段代码用了2秒
  ...................
.....store order info in myRS.....
.....store customer info in myTable.....
....................
Do while not myRS.eof
myTable.open "select customername from tblCustomer where customerID=" &
myRS.fields("CustomerID", myConnection
myArray(0,ubound(myArray,2))=myRS.fields("Ordernumber"
myArray(1,Ubound(myArray,2))=myRS.fields("OrderDate"
myArray(2,Ubound(myArray,2))=myTable.fields("CustomerName"
myTable.close
myRS.movenext
loop
  而ASP.NET用了40秒
  trace.warn("open conn: " & now)
...................
.....store order info in datatable myDataTable.....
.....store customer info in datatable myCustomer.....
....................
myDataView=new DataView(myCustomer)
for each myRow in myDataTable.rows
myDataview.rowFilter="CustomerID=" & myRow("CustomerID"
myRow("CustomerName"=myDataview(0).row("Customername"
next
trace.warn("finish looping: " & now)
  我很希望自己的结果是ASP.NET快于ASP, 但是确相反, 谁能告诉我为什么??
  (注: wysiwyg认为他自己做是测试,但是没有说明计算机和操作系统和测试环境的详细情况,也没说明是否属于哪一级别的压力测试)
  Xanderno:
  在我的不完善的测试中, 采用ACT 作为一种方法。 在一台配置低机器上面, 用ASP通过
  一个SQL SERVER上的数据库获取数据, 每秒种我可以获得10~15页数据 。 同样的函数, 用ASP.NET, 每秒种我却可以获得30~40页数据, 使用输出缓存(output caching)后,
  它上升为120页/秒。
  微软提供一系列压力测试工具。 VS.NET企业版便有ACT, 如果你没有VS企业版, WACT也是一种可行的方法.WAST website -- http://webtool.rte.microsoft.com/
  ============================
  从以上三人的看法, 也许大家已经得出较为正确的答案。 然而这些并不是第一次在ASP.NET和PHP运行效率的讨论。其他讨论, 还可以参看Debate - .NET V. PHP: Top 6 Reasons to Use NET(http://www.sitepoint.com/article/871 )
  还有Top 10 .NET Myths Exposed(http://www.webmasterbase.com/article/870)。
  当然你有时间, 还可以看看由Owendo Technology做的Web Application Server
  Panorama(Web应用程序服务器全景)报告
  
此外,还有人问了这样一个问题"VB.NET和C哪个更快?"
  Daniel P. 这样回答: 他们并没有区别, VB.NET和C都是转换成 IL-Code(中间语言代码)---用来编译主程序的。
  (注: 这种说法不一定正确, 两者的编译器是不一样的, 而且这个结论也没有经过严格的压力测试)
  最后, 也许大家总是觉得程序员之间这种讨论看起来很funny, 很多人总是带有主观性进行讨论, 连一些编程大师级的老外也像小孩子一样在争论。 但是没有自己所爱的语言, 没有这种狂热又怎会有技术的进步。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-358309-1-1.html 上篇帖子: 获取PHP变量名的字面值 下篇帖子: JIRA+PHP SOAP Client demo II
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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