Heim >Backend-Entwicklung >PHP-Tutorial >PHP程序加速探索之脚本执行速度测试_PHP

PHP程序加速探索之脚本执行速度测试_PHP

WBOY
WBOYOriginal
2016-06-01 12:29:40872Durchsuche

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

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

  benchmark1.php

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

$benchmark->run(10, 'myFunction','test');
$result = $benchmark->get();
echo "

"; print_r($result); echo "
";
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次左右,这样可以得到较客观的结果。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn