freezemage/benchmark

基准测试工具

v0.0.0 2024-03-15 09:11 UTC

This package is auto-updated.

Last update: 2024-09-15 10:06:39 UTC


README

此包可以使用composer安装

composer require freezemage/benchmark

依赖项

ext-intl, ext-mbstring 用于输出格式化。

用法

use Freezemage\Benchmark\ResultSet;
use Freezemage\Benchmark\Runner;

$runner = new Runner();

$runner->iterations(5);

$find = static fn (array $parameters): bool => in_array(1, $parameters);

// With static parameters
$runner->parameters([1, 2, 3]);
$result = $runner->evaluate($find);

// With dynamic parameters (will be regenerated on each iteration)
$runner->dataProvider(static function (): array {
    $result = [];
    for ($i = 0; $i < 10; $i += 1) {
        $result[] = rand(0, 10);
    }
    return $result;
});
$result = $runner->evaluate($find);

// Output one
print $result->prettyPrint();

// Output multiple
$set = new ResultSet();
print $set->append('Run 1', $result)->prettyPrint(); // append each evaluate() result.