我正在写一些真正对时间敏感的生产应用程序,它假设为数百万客户提供服务。
服务器端是用PHP编写的,有一些文件包含大约200个预定义的字符串 长度约为5到25个字符,均为双引号,不带任何变量。例如:
define("DEFCON_ONE", "id");
define("DEFCON_TWO", "name");
.......
将这些字符串从双引号更改为单引号确实可以节省一些cpu周期,因为php interpter不会搜索\ n或其中的变量吗?
这些应用程序实际上是时间敏感的,所以如果是这种情况,我会去更改每个文件和每行代码,但我只是想确定在我去更改所有内容之前。
谢谢。答案 0 :(得分:0)
如果它甚至存在,性能损失可以忽略不计。据说单引号更快,因为其中包含的任何内容都不会被解析为变量或特殊字符。双引号解析特殊字符和变量。例如:
$var = 'world';
echo 'hello\n$var';
echos:
hello\n$var
echo "hello\n$var";
echos
hello
world
就个人而言,如果你没有在字符串中使用特殊字符或变量,请坚持使用单引号,否则只需使用双引号。但表现不应该担心这一点。过早优化我的朋友。
答案 1 :(得分:0)
以微观优化的方式,是的。
双引号强制PHP解析它,即使字符串中没有变量。
但不要担心,我们有很多方法可以在攻击微观优化之前优化我们的代码:)