Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2468529
  • 博文数量: 392
  • 博客积分: 7040
  • 博客等级: 少将
  • 技术积分: 4138
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-17 13:03
个人简介

范德萨发而为

文章分类

全部博文(392)

文章存档

2017年(5)

2016年(19)

2015年(34)

2014年(14)

2013年(47)

2012年(40)

2011年(51)

2010年(137)

2009年(45)

分类: Python/Ruby

2011-09-20 16:22:06

在写程序的时候,经常会为是改用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) |
给主人留下些什么吧!~~