【问题标题】:in php single quotes really more optimized then double quotes?在php中单引号真的比双引号更优化吗?
【发布时间】:2013-02-05 11:35:23
【问题描述】:

我正在编写一些对时间非常敏感的生产应用程序,它假设为数百万客户提供服务。

服务器端是用 php 编写的,并且有一些包含大约 200 个预定义字符串的文件 长度约为 5 到 25 个字符,所有字符都被双引号括起来,其中没有任何变量。例如:

 define("DEFCON_ONE", "id");
 define("DEFCON_TWO", "name");
 .......

将这些字符串从双引号更改为单引号是否真的节省了一些 CPU 周期,因为 php 解释器不会搜索 \n 或其中的变量?

这些应用程序对时间非常敏感,所以如果是这种情况,我会去更改每个文件和每一行代码,但我只是想在去更改所有内容之前确定一下。

谢谢。

【问题讨论】:

  • 您可能想阅读这个问题:stackoverflow.com/questions/3446216/…
  • 如果应用程序 对负载敏感,我会调查 Facebook's HipHop
  • 是的,在 一些 很可能是非常综合的情况下,您将能够 measure 差异,但是正如@ZathrusWriter 上面提到的那样,有很多这样做将比优化获得更多的时间。例如,APC/Hiphop/SSD 磁盘或简单的算法优化将产生不仅可测量而且很可能非常明显的差异。从那里开始。
  • 我有时会浏览phpbench.com(双引号(“)与单引号(')部分)虽然很有趣,但我不认为结果是明确的答案。

标签: php string double-quotes


【解决方案1】:

即使存在,性能影响也可以忽略不计。据说单引号更快,因为其中包含的任何内容都不会被解析为变量或特殊字符。 WHere 作为双引号解析特殊字符和变量。例如:

$var = 'world';

echo 'hello\n$var';

echos:
hello\n$var

echo "hello\n$var";

echos
hello
world

就个人而言,如果您没有在字符串中使用特殊字符或变量,请坚持使用单引号,否则只需使用双引号。但是性能不应该是这方面的担忧。过早的优化我的朋友。

【讨论】:

    【解决方案2】:

    以微优化的方式,是的。

    双引号强制 PHP 解析它,即使字符串中没有变量。

    不过不用担心,在攻击微优化之前,我们有很多方法可以优化我们的代码:)

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 1970-01-01
      • 2011-06-02
      • 2013-02-05
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      相关资源
      最近更新 更多