devster/ubench

Micro PHP library for benchmarking

2.1.0 2019-06-03 06:54 UTC

This package is auto-updated.

Last update: 2024-10-11 18:50:09 UTC


README

Ubench is a PHP micro library for benchmark

Installation

Note: If you are looking for this package for laravel application then install it from here Benchmark

Old school

require src/Ubench.php in your project.

Composer

Add this to your composer.json

{
    "require": {
        "devster/ubench": "~2.0.0"
    }
}

Usage

require_once 'src/Ubench.php';

$bench = new Ubench;

$bench->start();

// Execute some code

$bench->end();

// Get elapsed time and memory
echo $bench->getTime(); // 156ms or 1.123s
echo $bench->getTime(true); // elapsed microtime in float
echo $bench->getTime(false, '%d%s'); // 156ms or 1s

echo $bench->getMemoryPeak(); // 152B or 90.00Kb or 15.23Mb
echo $bench->getMemoryPeak(true); // memory peak in bytes
echo $bench->getMemoryPeak(false, '%.3f%s'); // 152B or 90.152Kb or 15.234Mb

// Returns the memory usage at the end mark
echo $bench->getMemoryUsage(); // 152B or 90.00Kb or 15.23Mb

// Runs `Ubench::start()` and `Ubench::end()` around a callable
// Accepts a callable as the first parameter.  Any additional parameters will be passed to the callable.
$result = $bench->run(function ($x) {
    return $x;
}, 1);
echo $bench->getTime();

License

Ubench is licensed under the MIT License