ohansyah/laravelbenchmark

测量给定回调函数完成所需的时间(毫秒数)。此代码来自 Laravel 9.x 辅助基准测试(https://laravel.net.cn/docs/9.x/helpers#benchmarking)PR,由 Nuno Maduro 编写 https://github.com/laravel/framework/pull/44252。重写目的是在旧版 PHP 和 Laravel 遗留项目中运行。

v0.1.2 2023-12-04 09:56 UTC

This package is auto-updated.

Last update: 2024-09-04 11:27:27 UTC


README

Latest Version Total Downloads License

介绍

Laravel Benchmark 包提供了一种简单方便的方法来基准测试 Laravel 应用程序中的某些部分。当您需要测量特定代码片段或函数的性能时,这可能很有用。

此包受 Laravel 9.x 辅助基准测试功能的启发,如 Laravel 文档(https://laravel.net.cn/docs/9.x/helpers#benchmarking)中所述,并由 Nuno Maduro(https://github.com/laravel/framework/pull/44252)贡献。然而,此包专门设计为与旧版 PHP 版本和 Laravel 遗留项目兼容。

安装

您可以通过 Composer 安装此包

composer require ohansyah/laravelbenchmark

使用方法

<?php
 
use App\Models\User;
use Ohansyah\LaravelBenchmark\Benchmark;
 
Benchmark::dd(
    function () { range(1, 1000000); }
);
// 11.415ms


Benchmark::dd([
    function () { range(1, 1000000); },
    function () { User::count(); }
]);

/*
array:2 [
    0 => "10.259ms"
    1 => "111.418ms"
]
*/

默认情况下,给定的回调函数将执行一次(一次迭代),其持续时间将在浏览器/控制台中显示。

要多次调用回调函数,您可以将回调函数应调用的迭代次数作为方法的第二个参数指定。当执行回调函数多次时,Benchmark 类将返回执行所有迭代所需平均毫秒数。

Benchmark::dd(
    function () { range(1, 1000000); }, 5
);
// 10.041ms

许可证

Laravel Benchmark 包是开源软件,许可协议为 MIT 许可协议