- 授权协议: MIT
- 开发语言: PHP
- 操作系统: 跨平台
- 软件首页: https://github.com/huyanping/php-timer
- 软件文档: http://www.huyanping.cn/%E7%AE%80%E5%8D%95php%E6%80%A7%E8%83%BD%E8%AE%B0%E5%BD%95%E5%B7%A5%E5%85%B7/
软件介绍
最近写了一个异步mysql客户端的封装,想与传统的串行方式做下性能对比。包括运行时间、内存使用情况等信息。在github和packagist上搜索并没有找到自己想要的,xhprof又太大了,结果也太复杂,不符合现在的需要。所以决定自己写一个package,来实现对php脚本运行时间和内存使用情况的监控,并生成报告。
示例代码:
requiredirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR .'vendor'. DIRECTORY_SEPARATOR .'autoload.php';
//初始化,设置内存单位
$timer=new\Jenner\Timer(\Jenner\Timer::UNIT_KB);
//记录a状态
$timer->mark('a');
sleep(2);
//记录b状态
$timer->mark('b');
sleep(3);
//记录c状态
$timer->mark('c');
sleep(4);
//记录d状态
$timer->mark('d');
//打印总体报告(不包含差值)
$timer->printReport();
//获取总体报告,返回数组
$report=$timer->getReport();
//获取一个mark的报告
$a_report=$timer->getReport('a');
print_r($a_report);
//打印a状态和b状态的差异信息,包含运行时间、使用内存等
$timer->printDiffReportByStartAndEnd('a','b');
//获取a状态和b状态的差异报告
$ab_diff_report=$timer->getDiffReportByStartAndEnd('a','b');
//打印第一个mark和最后一个mark之间的差异信息
$timer->printDiffReport();
//获取第一个mark和最后一个mark之间的差异信息
$diff_report=$timer->getDiffReport();输出结果:
------------------------------------------ mark:a time:1437535424.9998s memory_real:1280KB memory_emalloc:833.046875KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB ------------------------------------------ mark:b time:1437535427s memory_real:1280KB memory_emalloc:834.2265625KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB ------------------------------------------ mark:c time:1437535430.0002s memory_real:1280KB memory_emalloc:835.1875KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB ------------------------------------------ mark:d time:1437535434.0004s memory_real:1280KB memory_emalloc:836.1484375KB memory_peak_real:1280KB memory_peak_emalloc:843.2890625KB Array ( [time] => 1437535424.9998 [memory_real] => 1310720 [memory_emalloc] => 853040 [memory_peak_real] => 1310720 [memory_peak_emalloc] => 863528 ) ------------------------------------------ mark:[diff] start_mark:a end_mark:b time:2.0001850128174s memory_real:0KB memory_emalloc:1.1796875KB memory_peak_real:0KB memory_peak_emalloc:0KB ------------------------------------------ mark:[totaldiff] time:9.0006000995636s memory_real:0KB memory_emalloc:3.1015625KB memory_peak_real:0KB memory_peak_emalloc:0KB
Linux C编程一站式学习
宋劲杉 / 电子工业出版社 / 2009-12 / 60.00元
本书有两条线索,一条线索是以Linux平台为载体全面深入地介绍C语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识C语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识C语言。. 本书适合做零基础的初学者学习C语言的第一本教材,帮助读者打下牢固的基础。有一定......一起来看看 《Linux C编程一站式学习》 这本书的介绍吧!
