我不想做一场神圣的战争。我只想知道是否有这样的基准?或者,也许你可以从你的经验中谈谈这个主题?有什么比较PHP和JSP的基准吗?
回答
昨天我刚刚偶然发现了语言shootout,您可以在这里再次比较运行不同程序时两种语言的某些性能特征。但是,我没有找到网络性能的基准。
事实是,像PHP这样的解释语言总是比编译语言慢。 JSP文件也会被编译,所以一旦服务器启动并且不再被更改,性能将比每次请求进入时都会被解释的PHP脚本更好。
另一方面,无论如何,第一个性能瓶颈将可能是数据库速度。然后,还有很多其他方法可以提高性能,例如预编译PHP脚本,将重度计算外化到C等等。与Java Web开发的怪物相比,PHP很容易学习和相处。最后,如果你有选择,你应该选择你最熟悉的语言。如果你正在开始一个新项目,你甚至不知道是否所有的性能考虑因素都会变得重要,因为你还没有用户,只想快速获得你的应用程序。
Daff对PHP和JSP的解释在技术上是错误的,他的文章的基本要点是正确的:选择最适合你的语言。你很少会发现自己处于一个表现真的非常糟糕的位置。此时,您更有可能使用您的选择语言进行重要的体系结构优化 - 而且这些优化可能比PHP和JSP之间的差异具有更大的影响。
编程的核心规则之一一直是为了避免过早优化 - 如果没有其他原因,除非因为直到实际上处于压力之下,否则你不知道你实际需要优化什么,也没有确定它是否有效的手段。
如果您认为有可能会遇到性能问题,则任何网站都无法为您提供帮助。最重要的是创建您自己的负载测试基准,它们代表您网站工作方式的具体细节,模拟用户如何操作。只有完成这些之后,才能继续调整代码,实施诸如缓存,负载平衡,数据和请求分区等内容,并确信您所做的更改对您的网站性能产生了积极影响。
有专门对一般的优化过程的书,但关键顺序是这样的:
- 基准
- 更改测试
- 看到基准,如果变化表明性能改进
- 围棋live
- 评估实时响应以查看基准预测是否正确
(人们忘记了#5了很多,导致自己的悲伤)
如果你打算花时间去担心性能,花时间建立该序列,不花时间去担心你的语言选择。
- 1. JSP,PHP,HTML5和JavaScript有什么区别?
- 2. 为什么PHP中的投射和比较比is_ *更快?
- 3. 基准比较Java中的Git分支?
- 4. 什么是有效和准确的日期比较使用jQuery的方式?
- 5. CSS动画业绩比较基准
- 6. JPA 2实现基准比较
- 7. DI/IoC容器性能基准比较?
- 8. 建议的基准测试程序来比较MPICH和的openmpi
- 9. JSP和ASP.Net的安全性比较
- 10. 为什么这个PHP比较失败?
- 11. PHP比较不起作用..为什么?
- 12. 为什么PHP不允许比较?
- 13. 在PHP中对HAML与JADE与HTML进行基准比较?
- 14. Apache基准真的很糟糕,有什么建议吗?
- 15. 什么比较方法比较好?
- 16. PHP和MS.NET比较
- 17. 我的比较器有什么问题?
- 18. 比较方法和比较类有任何性能差异吗?
- 19. 为什么比较和empty()在PHP中的行为如此?
- 20. 有人比较过WCF和ZeroC ICE吗?
- 21. 有什么方法可以在keras层做比较吗?
- 22. 比较SSIS包代码...有什么建议吗?
- 23. 这个函数比较浮点数有什么问题吗?
- 24. 比较/相交比较标准
- 25. 比较日期和基准日期,并保留最接近
- 26. 什么是Perl的“标准字符串比较顺序”?
- 27. 为什么比较{}和[]显示错误?
- 28. PHP中平等和相同的比较运算符有什么区别?
- 29. 有什么标准指数基本色
- 30. PHP中这两个比较有什么区别?
我没有问题设置解释权。但你只是说,这是错的,不用说为什么没有太大的帮助... – Daff 2009-11-15 12:26:11
我相信你的“避免过早优化”的概括,以“避免优化,直到客户抱怨”是不正确的。您应该始终选择* best * _algorithm_作为目的,然后尽可能以最简单的方式使用它,同时保持正确。然后偶尔瓶颈会出现在未经预料的地方,但是你很少需要掏出胆量并用新的东西代替它,而只是找到瓶颈并给予特别关注(以更复杂但仍然正确的方式)。 – 2009-11-15 12:39:48