2012-12-04 30 views
6

我不能相信我无法谷歌任何有关这个问题,但无论如何...PHP的执行速度有没有严格的标准?

我的逻辑假设是,遵守所有严格的标准规定的规则将执行更快的脚本。

在另一方面,如果脚本工作,没有严格的标准,那么也许严格的标准仅仅是在编译过程中不必要的额外验证步骤...

是否有什么更快的任何官方信息?谢谢。

+1

根据严格代码(对于“strict”的某些定义)可以更快地执行,您的假设是正确的 - 请参阅[街舞](https://en.wikipedia.org/wiki/HipHop_for_PHP)。但我认为这不是在官方的PHP解释器中完成的。然而,Facebook正在开发一款完全符合这一要求的虚拟机。 –

+2

微观优化是所有邪恶的根源。然而,严格的标准告诉你,从长远来看,你可能会遇到更少的问题。 @KonradRudolph我想他是在谈论PHP自己的'E_STRICT'-通知 – KingCrunch

+2

@King不恰当的引号是所有邪恶的根源。 OP不是在谈论不必要的微观优化。 –

回答

6

它应该会更快..

原因很简单,幸福的是,PHP的错误触发系统是相当沉重的,即使E_STRICT错误会受到抑制,但仍然进入错误机制(只被忽略)。

但实际上它高度依赖于情况,因为我可以想象,围绕E_STRICT工作本身也可能比原始解决方案更重。

无论如何,使用E_STRICT是一个聪明的想法,并允许更便携的,面向未来的代码。但是,我不会将性能作为开始编写严格PHP代码的有效理由。

+0

+1正确,每生成一个错误(即使你有'error_reporting(0)')都会对性能产生负面影响,因为即使没有报告它们也会产生。这又会导致程序执行额外的执行步骤。 – Leigh