其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
PHP程序加速探索[4]--测试--脚本执行速度测试

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

脚本执行速度测试

前面有提到,只有找到影响速度的代码,我们才有可能进行优化。PEARbenchmark包中的Benchmark_Timer类和Benchmark_Iterate类,可以用来很方便地测试脚本执行的速度。(关于PEAR的安装与配置请自行查看相关资料)

首先用Benchmark_Iterate来测试程序中某个函数或类的某个方法的执行时间。

benchmark1.php

<?php
require_once('Benchmark/Iterate.php');
$benchmark = new Benchmark_Iterate();

$benchmark->run(10, 'myFunction','test');
$result = $benchmark->get();
echo
"<pre>";
print_r($result);
echo
"</pre>";
exit;

function
myFunction($var) {
// do something
echo 'Hello ';
}

?>

建立benchmark Iterate对象$benchmark,这个对象用来执行myFunction函数10次。

$argument变量每次都传递给myFunction. 多次运行的分析结果存入$result,然后用benchmark对象的get()方法来获取。这个结果用print_r()输出到屏幕。通常会输出这样的结果:

Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello

Array
(
    [1] => 0.000427
    [2] => 0.000079
    [3] => 0.000072
    [4] => 0.000071
    [5] => 0.000076
    [6] => 0.000070
    [7] => 0.000073
    [8] => 0.000070
    [9] => 0.000074
    [10] => 0.000072
    [mean] => 0.000108
    [iterations] => 10
)

myFunction的每次执行,benchmark对象都会跟踪执行时间。并且会计算平均的执行时间([mean]那一行)。通过多次运行目标函数,你可以得到该函数的平均运行时间。

在实际测试中,函数的次数应当至少1000次左右,这样可以得到较客观的结果。




相关文章

相关软件