【问题标题】:Is PHP execution any faster with strict standards?使用严格的标准,PHP 的执行速度会更快吗?
【发布时间】:2012-12-04 14:39:11
【问题描述】:

我不敢相信我无法在谷歌上搜索任何与此问题相关的内容,但无论如何......

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

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

有什么更快的官方信息吗?谢谢。

【问题讨论】:

  • 您的假设是正确的,因为严格代码(对于“严格”的某些定义)可以更快地执行 - 参见例如HipHop。但我认为这不是在官方的 PHP 解释器中完成的。然而,Facebook 正在开发一个可以做到这一点的虚拟机。
  • 微优化是万恶之源。然而,严格的标准告诉你,从长远来看,你可能会遇到更少的问题。 @KonradRudolph 我猜他在谈论 PHP 自己的 E_STRICT-notices
  • @King 不恰当的引用是万恶之源。 OP 并不是在谈论不必要的微优化。
  • 我同意这不是微优化。遵守标准有一个明显的效果:它不会让您的日志充满不必要的警告和通知。
  • @KonradRudolph a)这不是我的引用,b)告诉你,这不是“不必要的微优化”?看来,你说的是完全不同的东西。

标签: php performance strict


【解决方案1】:

应该更快..

简单的原因是PHP的错误触发系统相当繁重,即使E_STRICT错误被抑制,它们仍然进入错误机制(只是被忽略)。

但实际上它在很大程度上取决于具体情况,因为我可以想象,围绕 E_STRICT 工作本身也可能比原始解决方案更重。

尽管如此,使用 E_STRICT 是一个聪明的想法,并且允许更便携、面向未来的代码。但是,我不会将性能作为开始编写严格的 PHP 代码的正当理由。

【讨论】:

  • +1 完全正确,每个会生成的错误(即使你有error_reporting(0))都会对性能产生负面影响,因为即使没有报告它们仍然会生成。这反过来会导致程序执行额外的执行步骤。
猜你喜欢
  • 1970-01-01
  • 2011-10-10
  • 2018-03-04
  • 1970-01-01
  • 2013-12-10
  • 2020-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多