在写程序的时候,经常会为是改用empty()还是isset好,或是用单引号还是双引号来显示连接字符串而发出疑问,现在好了。我们其实可以通过程序很科学的得出精确的答案。知道我们的程序到底怎样写效率会更好。
全名是Vulcan Logic Disassembler,可以用来检测PHP脚本的执行情况。
安装VLD:
wget
tar zxvf vld-0.9.1.tgz
cd vld-0.9.1
phpize
./configure
make install
编辑php.ini文件激活vld扩展:
extension=vld.so
别忘了重启Apache。
下面我们看看如何检测PHP脚本的执行情况,看看PHP是如何处理单双引号字符串的:
s.php(单引号):
d.php(双引号):
开始检测:
php -dvld.active=1 s.php或者d.php
结果不管是s.php还是d.php,number of ops都是3,内容也都一样:
number of ops: 3
compiled vars: none
line # op fetch ext return operands
-------------------------------------------------------------------------------
1 0 ECHO 'hello%2C+world.'
2 1 RETURN 1
2* ZEND_HANDLE_EXCEPTION
通常人们总是说,单引号比双引号快。但正如上面的实验结果显示,如果仅仅是输出一个常量字符串,那么单引号和双引号的效率其实是一样的。大家可以试试连接两个变量时他们的效率是不是还是一样呢。
阅读(3058) | 评论(0) | 转发(0) |