moznion / benchmarker
PHP代码的基准运行时间
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 4.2.*
This package is not auto-updated.
Last update: 2024-09-24 08:24:49 UTC
README
PHP代码的基准运行时间(受Benchmark.pm启发)
摘要
$benchmarker = new \Moznion\Benchmarker("all"); $code = function () use ($foo) { // do something }; $benchmarker->timeThese(10000, [ "code A" => function () use ($bar) { // do something }, "code B" => $code, // it can also take variable of anonymous function ]); // Sample of Output: // code A: 3.9326 wallclock secs (3sr + 0.2562ys = PU) // code B: 6.40877 wallclock secs (6sr + 0.81337ys = PU) $benchmarker->cmpThese(10000, [ "code A" => function () use ($bar) { // do something }, "code B" => $code, // it can also take variable of anonymous function ]); // Sample of Output: // Rate code A code B // code A 22571/s -- -49% // code B 44656/s 98% --
描述
用于基准测试PHP代码运行时间的库。
本库受Perl的Benchmark启发。
方法
new($style_name=null, $format=null, $enable_cache=null)
创建BenchMarker的实例。
$style_name (String)
指定样式名称。默认值是 auto
。
请参阅样式。
$format (String)
指定格式化基准结果值的格式。它支持与sprintf()
兼容的格式。
默认值是 '5.2f'。
$enable_cache (Boolean)
指定缓存nop函数的运行时间(nop函数的运行时间用于内部精度)。如果您启用缓存,基准测试的处理速度将更快。
默认值是 'false'。
timeIt($count, $code)
运行一段代码并查看其运行时间。
此方法返回result-time的实例。
$count
$count
是循环运行的次数。此参数必须是正整数。
$code
$code
是要运行的代码。此参数必须是可调用的变量。
countIt($time, $code)
查看在给定时间内一段代码运行了多少次。
此方法返回result-time的实例。
$time
$time
是循环运行的最短时间。
$code
$code
是要运行的代码。此参数必须是可调用的变量。
timeThis($count, $code, $title=null)
运行一段代码多次并打印基准结果。
此方法返回result-time的实例。
$count
$count
是循环运行的次数。此参数必须是正整数。
此参数可以是零或负数。这意味着要运行的CPU秒数的最小值。零表示默认的3秒。
$code
$code
是要运行的代码。此参数必须是可调用的变量。
$title
结果的标题。默认为 "timethis $count"。
timeThese($count, $codes)
多次运行多个代码块并打印基准结果。
此方法返回每个代码的result-time实例数组。
$count
$count
是循环运行的次数。此参数必须是正整数。
此参数可以是零或负数。这意味着要运行的CPU秒数的最小值。零表示默认的3秒。
$codes
$codes
是要运行的代码数组。
cmpThese($count, $codes)
以比较图的形式打印timeThese的结果。
$count
$count
是循环运行的次数。此参数必须是正整数。
此参数可以是零或负数。这意味着要运行的CPU秒数的最小值。零表示默认的3秒。
$codes
$codes
是要运行的代码数组。
timeStr($time_result, $count=null)
打印格式化的时间。
$time_result
$count
循环次数。如果此参数不为null,则此方法附加比率。
timeDiff($new_time, $old_time)
计算$new_time
和$old_time
之间的差异。
参数必须是result-time的实例。
clearCache($count)
清除与$count
相关的nop函数的缓存。
clearAllCache()
清除所有nop函数的缓存。
disableCache()
禁用缓存nop函数的缓存。
enableCache()
启用缓存nop函数的缓存。
结果时间
Time类有6个公共成员。
$real_time
实际持续时间。
$sys_time
系统时间持续时间。
$user_time
用户时间持续时间。
$child_sys_time
子进程的系统时间持续时间。
$child_user_time
子进程的用户时间持续时间。
$count
循环运行次数。
样式
此库支持5种样式。
- all
输出所有基准测试结果。
- noc
输出不带子进程结果的基准测试结果。
- nop
输出不带父进程结果的基准测试结果。
- none
不输出任何内容。
- auto
如果子进程的CPU时间大于0,则此样式与"all"相同。否则,此样式与"noc"相同。
需要
PHP (版本5.4或更高)
参见
注意
此库在Microsoft Windows上不工作。
许可证
MIT