lavoiesl / php-benchmark
此包已被放弃且不再维护。没有建议的替代包。
比较 PHP 中不同功能的工具
v1.4
2014-03-22 07:38 UTC
This package is not auto-updated.
Last update: 2022-07-18 08:52:28 UTC
README
比较 PHP 中不同功能的工具
安装
通过 Composer
composer require lavoiesl/php-benchmark
使用方法
<?php $benchmark = new \Lavoiesl\PhpBenchmark\Benchmark(); $benchmark->add('md5', function() { return md5('test'); }); $benchmark->add('sha1', function() { return sha1('test'); }); $benchmark->run(); ?>
您可以通过运行 $benchmark->run(false)
来获取无输出的结果
关于内存使用的注意事项
内存使用通过 register_tick_function
进行监控,但由于内存清理得太快,这并不擅长分析小的语句。
一个简单的技巧是返回值,AbstractTest
会暂时存储它。
为了确保适当的计时分析,尽早使用 declare(ticks = 1);
。
请参阅 内存测试。
输出
Running tests 3000 times.
Testing 2/2 : sha1
Test Time Time (%) Memory Memory (%)
md5 1304 ms 0 B
sha1 2077 ms 59 % 0 B
最佳测试次数猜测
默认情况下,Benchmark 会尝试找到一个最佳运行次数,以便每个测试最多花费 2 秒钟。
您可以通过使用 $benchmark->setCount($n)
或更改时间使用 $benchmark->guessCount($max_seconds)
来更改此设置。
编写自定义测试
您可以扩展 AbstractTest
并提供自己的包装器。