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 并提供自己的包装器。

关于这个例子,请参阅 命令测试 和相应的

完整示例请见此处: https://github.com/lavoiesl/php-cache-comparison