1. Go to this page and download the library: Download riod94/profiler-benchmark library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
riod94 / profiler-benchmark example snippets
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
]
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.