以前都是自己用microtime()鼓捣的,不好用,显示结果也不够清晰明了.
记得pear里面有个Benchmarking类可以搞定,一直没时间尝试下,终于刚才尝试了下,很好用,呵呵
先安装Benchmarking
pear install Benchmarking#命令行下安装Benchmarking
Benchmarking中有3个php文件,分别是:
Benchmark_Timer 这个包里面最基本的类. 执行简单的函数去记录总的时间和设定的代码片段时间.
Benchmark_Profiler 就像Benchmark_Timer允许你在开始和终止之间任意指定节点一样.他还提供了通过内嵌定时器指出函数的执行次数和时间.
Benchmark_Iterate 这个有点类似于mysql里面的benchmark()函数.对某个代码片段(一般是函数)执行n次,记录下每次和总的执行时间.
上一个Benchmark_Timer的例子
<?php
require_once "Benchmark/Timer.php";
$timer = new Benchmark_Timer(TRUE);//包含类文件,实例化类
$timer->start();//开始计时
echo php_sapi_name();
$timer->setMarker('Midway');//设置断点和名称
echo php_uname();
echo PHP_OS;
$timer->stop();//停止计时
$timer->display();//显示结果
?>
结果类似以下显示
----------------------------------------------------
marker time index ex time perct
----------------------------------------------------
Start 1182558324.48638900 - 0.00%
----------------------------------------------------
Midway 1182558324.48655800 0.000169 62.13%
----------------------------------------------------
Stop 1182558324.48666100 0.000103 37.87%
----------------------------------------------------
total - 0.000272 100.00%
----------------------------------------------------其他的就不说了,自己看手册把
Pear Benchmarking测试PHP程序效率
时间: 2024-11-05 13:53:36
Pear Benchmarking测试PHP程序效率的相关文章
outofmemoryexception-VS2013 coded ui test 编码的UI测试 导致程序内存溢出
问题描述 VS2013 coded ui test 编码的UI测试 导致程序内存溢出 我在使用VS coded ui test对一个Winform的程序做自动化测试的时候,每次都在最后抛出OutOfMemoryException的异常,不知道怎么解决. 大家能不能帮忙解决下? 有没有什么方法控制或者监测内存使用情况啊?
扩展JUnit测试并行程序
测试并行程序与以往有什么不同 ? 随着多核的普及,并行程序的开发已经提上日 程.相对串行程序而言,并行程序更有可能出错.一方面,并行程序的执行序列具有很强的 随机性,线程交错执行的序列可能每次都不一样,而只要一个序列有问题,整个程序就是不 正确的.另一方面,并行程序对大多数程序员来说,都是一个新的领域,经验相对较少,这 是容易出错的另外一个因素. 既然如此,我们就更需要仔细的测试我们的并行程序和 组件了.目前已经有一些 JUnit 扩展可以创建多个线程,同时运行多个测试用例,从而加快 测试用例集
大二,学过c和java如何实现硬盘测试读写速度程序
问题描述 大二,学过c和java如何实现硬盘测试读写速度程序 多文件存储性能测试编写一套程序,可对x86系统.ARM系统进行多文件并发写入带宽测试.该程序有以下要求:1. 使用Linux操作系统运行,内核版本号不限:(在实验室服务器中运行)2. 测试方法:a) 程序启动时,指定并发存储文件的数量,并分别指定文件存储路径及文件名:(最多四个文件)b) 为每个文件申请内存空间,申请内存大小不限:c) 对每片内存使用递增数进行初始化:d) 为每路数据配备一个计时器,同时开启多路数据写入操作,并启动计时
编程-求解析下面这个php程序,感觉这个程序效率很低,求解答。
问题描述 求解析下面这个php程序,感觉这个程序效率很低,求解答. <?php $ss = 2; $max = 1000; $arr = array(); echo $max."以内的素数为:"; while ($ss < $max): $boo = false; foreach ($arr as $value): if ($ss % $value == 0): $boo = true; break; endif; endforeach; if (!$boo): echo
web service-我用真机连接电脑测试android程序,
问题描述 我用真机连接电脑测试android程序, 我用真机连接电脑测试android程序,ip地址怎么写啊,用android连接asp.net里的webservice 解决方案 你的手机和电脑不在同一个局域网 解决方案二: http://zhidao.baidu.com/link?url=_SDSiShMFoetl6TxhigTjqQZeyi-qF4n18NhxvWJVg78fQ2DBBvTsU8ETP-S3teDNAwuKJtGnrh2iTmgy95il9NoVYEeF-DcYxqnUr9P
《ANTLR 4权威指南 》一1.2 运行ANTLR并测试识别程序
1.2 运行ANTLR并测试识别程序 下面是一个简单的.识别类似hello world和hello parrt的词组的语法: 为整洁起见,我们把这个语法文件放到它自己的目录里,如/tmp/test.接下来对该语法文件运行ANTLR命令并编译生成的结果. 对Hello.g4运行ANTLR工具命令生成了一个由HelloParser.java和HelloLexer.java组成的.可以运行的语法识别程序,不过我们还缺一个main程序来触发这个语言识别的过程.(语法分析器和词法分析器的介绍详见下一章.)
《ANTLR 4权威指南》——1.2 运行ANTLR并测试识别程序
1.2 运行ANTLR并测试识别程序 下面是一个简单的.识别类似hello world和hello parrt的词组的语法: 为整洁起见,我们把这个语法文件放到它自己的目录里,如/tmp/test.接下来对该语法文件运行ANTLR命令并编译生成的结果. 对Hello.g4运行ANTLR工具命令生成了一个由HelloParser.java和HelloLexer.java组成的.可以运行的语法识别程序,不过我们还缺一个main程序来触发这个语言识别的过程.(语法分析器和词法分析器的介绍详见下一章.)
错误:应用和测试应用程序ID不能相同
问题描述 错误:应用和测试应用程序ID不能相同 我导入一个eclipse项目 报错这个.怎么解决. 错误:应用和测试应用程序ID不能相同:都是"COM.itheima IM2的debugandroidtest.
Hadoop 使用Combiner提高Map/Reduce程序效率
众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出. 在上述过程中,我们看到至少两个性能瓶颈: 如果我们有10亿个数据,Mapper会生成10亿个键值对在网络间进行传输,但如果我们只是对数据求最大值,那么很明显的Mapper只需要输出它所知道的最大值即可.这样做不仅可以减轻网络压力,同样也可以大幅度提高程序效率. 使用专利中的国家一项来阐述数据倾