/bench

Simple class to measure the amount of time , memory that elapses between two points.

Primary LanguagePHPGNU Affero General Public License v3.0AGPL-3.0

Bench

( Benchmarking / Profiling / Timing ) class to measure the amount of time , memory (server load) that elapses between two (or more) points.

Install

"require": {
   "maddrid/bench": "dev-master"
  }

Usage

As Simple as Possible

use Maddrid\Bench as Bench ;

Bench::start('first_point');
  do_some_math
    Bench::start('second_point');
      do_more_math
    Bench::stop('second_point');
    Bench::start('third_point');
      do_more_math
    Bench::stop('third_point');
Bench::stop('first_point');

Display

//more details

Bench::printTimers(true);

keep it simple

Bench::printTimers();

Get timers

Bench::getTimers();
Bench::getTimers(null);
Bench::getTimers(true);
Bench::getTimers(null,5);
Bench::getTimers(true,5);

Stop the timer

Bench::stop('first_point'); 

// will get server load

Bench::stop('first_point',true);

Known facts

When getting server load

Bench::stop('first_point',true);

Will add aditional seconds on the checkpoint . If checkpoint is nested , "the Parent/s " checkpoints will inherit those seconds .