`
womendu
  • 浏览: 1483677 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

VLD是个好东西

阅读更多

转自:http://hi.baidu.com/thinkinginlamp/blog/item/62802f2e4b5edc584fc226a4.html

VLD全名是Vulcan Logic Disassembler,可以用来检测PHP脚本的执行情况。

安装VLD:

wget http://pecl.php.net/get/vld
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(单引号):<?php echo 'hello, world.'; ?>
d.php(双引号):<?php echo "hello, world."; ?>

开始检测:

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


通常人们总是说,单引号比双引号快。但正如上面的实验结果显示,如果仅仅是输出一个常量字符串,那么单引号和双引号的效率其实是一样的。

实际编程时,总会遇到各种各样的选择:是empty好还是isset好?是in_array好还是array_key_exists好?此时不妨试试VLD,对比看看各种选择的number of ops都是多少,并且具体都干了些什么。自然就能得到正确的选择,而不用靠着主观猜测去臆断。

挺有意思,有时间玩一下,不过有精力有能力的话最好可以研究一下PHP源码,这样更好,:)

分享到:
评论

相关推荐

    VLD For VS2019

    在VS2019下编译好的VLD,X64,方便检查内存泄漏、内存溢出等疑难问题。不是源代码,需要源代码可自行下载编译。

    vld-10检查内存泄漏工具

    vld-10检查内存泄漏工具

    vld2.5.1.rar

    截止2019年12月16日 最新版内存泄露检测工具,支持当前所有vs版本,使用步骤只需要添加头文件 #include&lt;vld.h&gt;

    vld-2.5原码2016

    2016年 vld 最新版本源代码, vld 2.5 分享.

    vld-2.3-资源泄漏检测

    此外,内存问题存在一个共同的特点,它本身并不会有很明显的现象,当有异常出现时就很难检查问题的原因所在,这给调试内存问题带来了很大的难度。 VLD是一款用于VisualC++的免费内存泄漏检查工具。可以在...

    内存泄露检查工具VLD

    第4代白盒测试方法实践之“内存泄露检查工具VLD如何与VcTester配合使用” 收藏 灵活自由是C语言的一大特色,但这个特色也难以避免的带来一些副作用,比如内存泄露。众所周知,内存泄露的问题比较复杂,程序正常运行...

    vld内存泄露检测

    Visual LeakDetector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。它的特点有:(1)、它是免费开源的,采用LGPL协议;(2)、它可以得到内存泄露点的调用堆栈,可以获取到所在文件及行号;(3)、它可以得到泄露...

    vld-1.9h-setup.exe+vld2021源码.7z

    vld-1.9h-setup.exe广泛链接失效这里重传 vld2021最新源码

    vld内存泄露工具

    vld内存检查工具。vs工程包含lib目录,头文件目录,在观察内存泄露的文件中 #include "vld.h

    vld内存泄漏检测工具

    vld内存泄漏检测工具 vld内存泄漏检测工具

    vld2.1.zip windows下cpp内存泄露检测

    vld2.1.zip windows下cpp内存泄露检测,vld2.1.zip windows下cpp内存泄露检测

    vld检测 Qt内存泄露问题编译器一定要是MSVC。

    vld检测 Qt内存泄露问题编译器一定要是MSVC。

    VLD V1.9h V2.5

    内存泄露检测工具类,包含VLD V1.9h及VLD V2.5安装文件。

    vld-2.5.1-setup.rar

    Visual C++ 内存泄露检测工具(VLD)

    vld内存泄漏测试工具

    VLD(Visual Leak Detector)是一款用于 Visual C++ 的内存泄露检测工具。

    QT Creator内存泄露检测VLD

    windows下Qt creator 使用 VLD 工具的方法,下载 安装 使用 用浏览器打开

    vld2.5.1.zip

    VLD(Visual Leak Detector)是一款用于VisualC++的免费内存泄漏检查工具。

    vld-2.5.1_vs2019.rar

    vld库在vs2019下编译通过,在vld项目右键重新生成即可。 当前只编译了必需的两个库libformat及vld 另外里面也包含了x86和x64版本的dbghelp.dll

    VLD 2.5.1最新内存检测工具.zip

    提供了VLD 源码,vld2.5.1的最新安装包,可以用于vs2008,vs2010-vs2015,方便需要资源的快速下载

    vld 2.5.1 支持到最高vs2015

    VLD同样是一款开源检测内存泄露软件的简称:Visual Leak Detector。 初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂...

Global site tag (gtag.js) - Google Analytics