【问题标题】:Does PHP parser takes microtime while reading commentsPHP解析器在阅读评论时是否需要微时间
【发布时间】:2012-05-01 14:50:01
【问题描述】:

仔细阅读

这里的问题不在于 PHP 解析器是否处理 cmets,也不是关于省略 cmets 是否会为您的脚本带来更多性能!

关于,“PHP 解析器在读取 cmets 时会花一点时间吗?”

我为什么要问?

由于 Internet World 对这个问题的误解。一些程序员说“是”,一些程序员回答“否”。我应该服从谁?

编辑:(在获得大部分 cmets 并回答声称在 cmets 上花费微时间之后)

看看我这里有什么

<?php

// Control
echo microtime(), "<br />"; // 0.25163600 1292450508
echo microtime(), "<br />"; // 0.25186000 1292450508

// Test
echo microtime(), "<br />"; // 0.25189700 1292450508
# TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST
# .. Above comment repeated 18809 times ..
echo microtime(), "<br />"; // 0.25192100 1292450508

?>

【问题讨论】:

  • 即使是这种情况 - 那些微秒的时间也是值得的。保留 cmets!
  • @OliCharlesworth 可以这么说。但是我仍然无法在您给定的链接下找到我的答案。看看能不能找到
  • 有一条指令告诉解析器跳过代码中文本的注释部分。如果必须执行该指令,那么是的,CPU 周期用于执行该跳过命令。但是,我们不是在谈论整秒的 CPU 周期,我们在这里谈论的是微型数字。因此,它可能甚至不值得一提,因为它处于纳秒级。
  • 那你在问什么?如果 PHP 解析器在解析 cmets 时占用 cpu 周期?如果您知道解析器遍历 cmets,那么您也知道它使用 cpu 周期...解析器无法在不使用任何处理能力的情况下神奇地遍历 cmets。

标签: php parsing time process comments


【解决方案1】:

即使需要几微秒(是的,您的文件必须被解析,对吧?!),您也不应该删除它们。首先要做的是缓存字节码,因此 PHP 解释器不必将“纯文本”代码重新解析为字节码。我认为您可以从中获得更多的性能提升,而不必担心 cmets 占用解析时间。

它似乎确实与this post 重复。 (请注意,提交前先刷新页面。)

【讨论】:

  • 基本上你的测试会告诉你答案:是的,处理 cmets 需要几微秒。
猜你喜欢
  • 2013-01-08
  • 2018-05-27
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-12
相关资源
最近更新 更多