php asp.netmvc性能,代码执行速度:ASP.NET-MVC与PHP

这是一个艰难的比较,因为在各个堆栈的差异意味着你最终做同样的事情不同,如果你做同样的目的比较,这不是一个非常现实的测试。

PHP,我喜欢,它是最基本的形式加载每个请求,解释然后丢弃。在这方面它非常像CGI(这是不奇怪的,考虑到它大约15岁)。

多年来,已经进行了各种优化,以提高性能,最值得注意的是使用APC的操作码缓存,例如(所以APC将是PHP 6的标准部分,而不是现在的可选模块)。

但是PHP脚本基本上是暂时的。会话信息是(通常)基于文件的并且相互排斥的(session_start()阻塞其他脚本访问同一用户会话,直到session_commit()或脚本完成),而在ASP.NET中不是这样。除了会话数据之外,在ASP.NET(或Java,对于ASP.NET更类似于ASP.NET)的应用程序上下文中存在对象是相当容易(并且是正常的)。

这是一个关键的区别。例如,PHP中的数据库访问(使用mysql,mysqli,PDO等)是暂时的(尽管持久连接),而.Net / Java几乎总是使用持久连接池并且在其上构建ORM框架等,其高速缓存超出任何特定请求。

作为一个字节码解释平台,ASP.NET在理论上更快,但PHP可以做的极限是高到与大多数人无关。在互联网上前20名访问过的网站中,有4家是PHP。当开始扩展比任何理论速度差异时,开发速度,稳健性,运行环境的成本等往往更加重要。

请记住.Net有原始类型,类型安全和这些种类的东西,将使代码比PHP可以运行它更快。如果你想做一个有点不公平的测试,在两个平台排序一百万随机64位整数的数组。 ASP.NET将杀死它,因为它们是原始类型,简单的数组将比PHP的关联数组更高效(并且PHP中的所有数组最终都是关联的)。加上PHP在32位操作系统上不会有一个本机的64位整数,所以会受到巨大的痛苦。

还应该指出的是,ASP.NET是预编译的,而PHP是即时解释的(不包括操作码缓存),这可以有所作为,但PHP在这方面的灵活性是一件好事。能够部署脚本而不退回您的服务器是伟大的。只是放在它,它的工作。辉煌。但最终表现不佳。

最终,虽然我认为你在争论什么是一个不相干的细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值