Skip to content

myaaghubi/Debench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debench

Test Debench Debench Coverage Status Debench release (latest by date) Debench License

A small and lightweight debug/benchmark helper for PHP.

myaaghubi/debench-debench-minimal myaaghubi/debench-debench-fullsize

How to use

Use composer:

composer require myaaghubi/debench

Then have it like:

namespace DEBENCH;

require __DIR__ . '/vendor/autoload.php';

// call it from your index.php after autoload 
// then check the webpage with your browser
// $debench = new Debench(true, '../public', $base->get('ASSETS'));
Debench::getInstance(true, '../public', $base->get('ASSETS'));

// for enable() or minimalOnly() you can 
// call them even before getInstance
Debench::enable(false);

// for dump(), info(), warning() and error() you can 
// call them before getInstance too
Debench::info('let\'s use some memory');

// let's load some
$st = str_repeat("Debench!", 10000);
Debench::point('one');
Debench::dump($st);

// let's load some more
$st .= str_repeat("Debench!", 10000);
// $debench->newPoint("two");
Debench::point('two');

For minimal mode:

// it is safe and secure to use
// $debench->setMinimalOnly(true);
Debench::minimalOnly(true);

For production mode

// it's better to do it on initializing
//$debench = new Debench(false);
Debench::getInstance(false);
// or
Debench::enable(false);

For comparison mode

// Debench::compare($func1, $func2, $tag='', $iterations=1000);
Debench::compare(function () use ($mongo) {
    $mongo->find([])
}, function () use ($sql) {
    $sql->exec('select ...');
});

How to test

Just run:

./vendor/bin/phpunit

License

You are allowed to use this plugin under the terms of the MIT License.

Copyright (C) 2025 Mohammad Yaaghubi

About

An independent PHP helper for debugging and benchmarking.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published