在csdn上看到一篇关于php性能提升的文章,大家批评很大, 不如一测,看看实际结果如何。因为是针对php不同写法之间的性能测试,所以系统版本,web server都是可以忽略的,只有php的版本可能影响这个测试,所以只贴出了测试的php版本。
php版本:5.3.10
测试工具:ApacheBench(apache自带的压力测试工具)
以下测试都是在虚拟机里进行的,为了保证没有请求失败的情况,我每次测试都是模拟100个客户端请求2000次,每种情况测试10次,然后求平均值。数据单位:reqs/s(每秒请求数)
1、先来看看用单引号和双引号输出字符串测试
a. 单引号测试
我在网上随机找了一个490字节的字符串,先用单引号输出测试。结果:
1267.43 1204.79 1158.59 1215.24 1232.76 1247.54 1211.27 1186.28 1231.82 1303.20 取平均值为:1225.90
b. 双引号测试
运行10次,结果:
1150.35 1201.95 1147.59 1175.00 1204.50 1256.73 1183.70 1245.76 1209.22 1219.83 取平均值为:1199.46
可以看出两个测试结果非常接近,但是用单引号能快一些。
2、接下来再看下用点符号连接变量和在双引号里直接写入变量的测试
被测试的程序基本和上面一样,只是我将其中一部分字符串提取出来,用变量代替。
a. 点符号连接变量测试结果:
1232.11 1152.99 1218.14 1227.83 1178.44 1163.25 1214.01 1201.75 1185.30 1155.54 取平均值为:1192.94
b. 双引号里直接写入变量测试结果:
1262.66 1145.22 1136.64 1214.09 1137.91 1178.40 1194.15 1164.17 1236.68 1164.75 取平均值为:1183.47
两个测试结果还是非常接近。
总结:从上面测试结果来看,双引号和单引号不是那么重要了。至于用点连接符来连接变量,还是直接在双引号里直接写变量,关系也不大了。
转载请注明:快乐编程 » php性能测试,单引号和双引号篇