本文实例讲述了使用ltrace工具跟踪PHP库函数调用的方法。分享给大家供大家参考,具体如下:

可能大家已经很熟悉使用strace来跟踪系统调用,今天介绍一个跟踪库函数的利器ltrace

比如我有这么一段PHP代码

test.php:

$y = '1380';

$arr = array();

for($i = 0; $i < 2000; $i ++){

$arr[] = "{$i}"; //故意用引号包起来设成字符串

}

for($i = 0; $i < 2000; $i ++){

if(!in_array($y, $arr)) continue;

}

?>

ltrace -c /usr/local/php/bin/php test.php (-c表示汇总)

会看到输出如下:

% time seconds usecs/call calls function

------ ----------- ----------- --------- --------------------

95.02 7.417240 368 20146 strtol

2.15 7.160390 413 17316 memcpy

1.63 5.522641 240 22966 free

0.67 2.275374 2275374 1 curl_global_cleanup

0.54 2.235466 617 3618 __ctype_tolower_loc

0.16 2.123547 1194 1778 strrchr

0.17 1.532224 67 22836 malloc

0.29 0.382083 67 5678 strlen

可以看到 strtol几乎用去了执行时间的95.02%,瓶颈就找出来了。及PHP会在in_array()测试时试图将字符串行数字转换为long,这会耗费大量时间。所以只要将字符串都转换为整形即可大幅度提高效率。

ltrace真心是个好工具

希望本文所述对大家PHP程序设计有所帮助。

点击网页跟踪php代码的工具,使用ltrace工具跟踪PHP库函数调用的方法相关推荐

  1. 网页301重定向检测工具(网页HTTP状态代码检测)

    301重定向是在搜索引擎优化中一个很常用的操作,可以帮助我们转移域名的权重.但是在做301重定向的时候由于服务器系统.网站程序语言.域名和链接地址的不同,使用的方法也不同.这个时候我们就要使用301重 ...

  2. 网吧做直播,制做网页播放器代码全集

    <script src="/script/ShowHidden.js" type="text/javascript"></script>

  3. 代码合并工具_11个代码质量审核和管理工具,程序员必备!

    「 读者福利!2 TB 各类技术资源免费赠送 」 如今,代码质量分析和审核已成为每个企业的基本流程.随着开源代码库使用的增加,安全性和代码质量对于构建高质量软件至关重要.不良的代码不仅会影响代码的可维 ...

  4. 代码整理工具_整理了 11 个好用的代码质量审核和管理工具

    点击上方"Python编程时光",选择"加为星标" 第一时间关注Python技术干货! 来源:云智时代 https://www.toutiao.com/i677 ...

  5. php 预览器,浏览器html代码快速预览小工具

    这次给大家带来浏览器html代码快速预览小工具,使用浏览器html代码快速预览小工具注意事项有哪些,下面就是实战案例,一起来看一下. 直接弹出预览:javascript:(function() { v ...

  6. 常见的网页播放器代码

       我们在网页上看到的播放器无外乎WMP/RealPlayer/FlashPlayer,其他的无非是面板不同,或者添加了其他控件,对于计算机上安装的一些播放器也都是编码和解码器的整合,其最核心的编码 ...

  7. 制做网页播放器代码全集

    1.avi格式 代码片断如下: <object id="video" width="400" height="200" border= ...

  8. Android调用JNI本地方法跟踪目标代码

    正如Android调用JNI本地方法经过有点改变章所说跟踪代码是可行的,但是跟踪某些代码会出现anr,点击取消,还是不好运,有提高办法吗?回答是有(gdb还没试过,本文只讨论ida). 下面是我使用  ...

  9. 复制网页上的代码的一个小技巧

    作为一个程序员的学习者,经常需要多学习别人的成果,再拿来运行一下,看到有结果出来,那一刻内心是高兴的,仿佛看到了希望. 但有时候网页上的代码复制到编译器上编译运行报了一堆错误,而看着代码好像完全没问题 ...

最新文章

  1. php中this,self,parent三个关键字
  2. 人工智能、大数据的广泛应用,算法推荐如何守好边界
  3. 深度学习工程师必看:更简单的超分辨重构方法拿走不谢
  4. windows php cli 后台运行_【续】windows环境redis未授权利用方式梳理
  5. 《低功耗蓝牙开发权威指南》——第3章低功耗蓝牙的体系结构
  6. 华大基因茅矛:云计算让精准医疗走进生活
  7. 如何优化网页转化率?(中篇)
  8. js中数组filter过滤奇偶数_JS filter()方法:根据指定条件过滤数组元素
  9. VJC中机器人走多边形转向角度、速度、时间数值的计算
  10. vivado使用入门
  11. ADT公司G729 方案指标
  12. flutter web集成友盟统计
  13. 地铁+单车一体化智慧接驳,哈罗单车升级为哈啰出行
  14. 稀疏数组(golang实现)
  15. Flink 理解流式计算中的窗口概念
  16. 交换机配置SNMP团体字
  17. 怎么做一名合格的测试工程师
  18. RGB颜色详细标号 用彩虹色装饰CSDN告示栏 - 酷炫
  19. Gee引擎常用功能简介
  20. Photoshop:6.14世界献血海报设计分享poster design(内附psd)

热门文章

  1. python条件输出_python基础(二)条件判断、循环、格式化输出
  2. 如何搭建一个内部组件共享平台
  3. 华为微型计算机b515,华为MateStation B515台式机曝光:五种配置
  4. seo 伪原创_胡子哥谈seo优化:那些不被了解的伪原创技巧
  5. npm ERR! the command again as root/Administrator
  6. 初中学习计算机基础,初中生计算机基础学习心得
  7. java中菜单分几级_JavaWeb三级菜单分类查询详解
  8. thinkPHP利用ajax异步上传图片并显示、删除
  9. vue项目 一行js代码搞定点击图片放大缩小
  10. 学web前端一定要这样学,不然学完找不到工作哭都来不及!