riod94/profiler-benchmark
最新稳定版本:v1.1.1
Composer 安装命令:
composer require riod94/profiler-benchmark
包简介
PHP Laravel simple and lightweight profiler and benchmarking
README 文档
README
The ProfilerBenchmark library is used for benchmarking and profiling Laravel code. It is used to measure the performance of code. It is a simple and lightweight library.
Installation
You can install this library using Composer. Run the following command in the terminal:
composer require riod94/profiler-benchmark
This package register the provider automatically, See laravel package discover.
Usage
Here is an example of how to use the ProfilerBenchmark library:
use Riod94\ProfilerBenchmark\ProfilerBenchmark; // Disable ProfilerBenchmark if your code running in production ProfilerBenchmark::enabled(env('APP_ENV') !== 'production'); // Start benchmarking ProfilerBenchmark::start('initialize'); // Benchmark steps // Your Code Here ProfilerBenchmark::checkpoint('Get start product list'); // Your Code Here ProfilerBenchmark::checkpoint('Parse product list'); // Your Code Here // Get benchmark results $benchmarkData = ProfilerBenchmark::getBenchmark('Finish'); // Display benchmark results var_dump($benchmarkData); // Example of $benchmarkData result array:6 [ "total_time" => 0.02 "total_memory" => "24.02 MB" "average_memory" => "15.01 MB" "min_memory" => "8 MB" "max_memory" => "24.02 MB" "steps" => array:4 [ 0 => array:3 [ "label" => "initialize" "time" => 0.0 "memory" => "8 MB" ] 1 => array:3 [ "label" => "Get start product list" "time" => 0.01 "memory" => "12.02 MB" ] 2 => array:3 [ "label" => "Parse product list" "time" => 0.01 "memory" => "16.02 MB" ] 3 => array:3 [ "label" => "Finish" "time" => 0.02 "memory" => "24.02 MB" ] ] ] // Set show function, show return and show arguments ProfilerBenchmark::setShowFunction(true); ProfilerBenchmark::setShowReturn(false); ProfilerBenchmark::setShowArgs(false); // Profile and benchmark a function $profileData = ProfilerBenchmark::functionBenchmark(function() { // Code of the function to profile and benchmark }, 9999, $args); // Display benchmark results and profile data var_dump($profileData); // Example of $profileData result array:8 [ "iterations" => 9999 "total_time" => 1.08 "average_time" => 0.0 "min_time" => 0.0 "max_time" => 0.0 "function" => Closure()^ {#451 class: "Riod94\ProfilerBenchmark\Tests\ProfilerBenchmarkTest" this: Riod94\ProfilerBenchmark\Tests\ProfilerBenchmarkTest {#314 …} } "args" => null "return" => null ] // OR you can benchmark a function of a class with arguments $profileData1 = ProfilerBenchmark::functionBenchmark([BankAccount::class, 'getBalance'], 100, $args); // Display benchmark results and profile data var_dump($profileData1); // Example of $profileData1 result array:8 [ "iterations" => 100 "total_time" => 1.00 "average_time" => 0.0 "min_time" => 0.0 "max_time" => 0.0 "function" => array:2 [ 0 => "BankAccount" 1 => "getBalance" ] "args" => null "return" => null ]
That's it! enjoy :D.
Testing
vendor/bin/phpunit tests
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email riyo.s94@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 15.56k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-14