2017 © Pedro Peláez
 

library bench

A light-weight class for quickly benchmarking/timing/profiling PHP code

image

veloper/bench

A light-weight class for quickly benchmarking/timing/profiling PHP code

  • Sunday, June 4, 2017
  • by veloper
  • Repository
  • 2 Watchers
  • 15 Stars
  • 136 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 9 Forks
  • 1 Open issues
  • 1 Versions
  • 444 % Grown

The README.md

Bench

Purpose

A light-weight class for quickly benchmarking/timing/profiling PHP code., (*1)

Basic Usage

/**
 * Start & Stop
 */
 include 'class.Bench.php';
 Bench::start();
 // [Some Code To Test]
 echo Bench::stop() . ' Seconds'; -> 2.13274598122


/**
 * Marks
 */
 include 'class.Bench.php';
 Bench::start();
 // [Application Bootstrap]
 Bench::mark('bootstrap');
 // [Database Connection Opened]
 Bench::mark('database');
 // [Data Processing + Manipulation]
 Bench::mark('processing');
 // [HTML Creation]
 Bench::mark('html');
 // [MISC]
 Bench::stop();

 // Get data on specific mark.
 print_r(Bench::getMarkById('database')); // ->
    Array (
         // The mark id.
         [id] => database
         // The microtime(true) of when this mark occurred.
         [microtime] => 1287969552.88
         // The time (in seconds) since start() was called.
         [since_start] => 1.10582304001
         // The time since the last mark [or] since start(), if first call to mark().
         [since_last_mark] => 0.171210050583
     )

 // Get statistics
 print_r(Bench::getStats()); // ->
     Array (
         // The average time between marks (in seconds)
         [mark_average] => 0.346896330516
         // The longest mark
         [mark_longest] => Array
             (
                 [id] => database
                 [microtime] => 1288045989.62
                 [since_start] => 1.02174592018
                 [since_last_mark] => 0.831446886063
             )
         // The shortest mark
         [mark_shortest] => Array
             (
                 [id] => processing
                 [microtime] => 1288045989.64
                 [since_start] => 1.04068899155
                 [since_last_mark] => 0.0189430713654
             )
         // Start microtime
         [start] => 1288060408.82
         // Stop microtime (if called)
         [stop] => 1288060409.95             
         // Time elapsed (in seconds)
         [elapsed] => 1.0407409668
     )

More examples available at http://github.com/veloper/Bench/wiki, (*2)

Website

http://dan.doezema.com/2010/10/bench-php-class/, (*3)

License

Bench is released under the New BSD license. http://dan.doezema.com/licenses/new-bsd/, (*4)

The Versions

04/06 2017

dev-master

9999999-dev https://github.com/veloper/Bench

A light-weight class for quickly benchmarking/timing/profiling PHP code

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

lightweight profiling benchmarking