PHP Classes

Little Benchmark: Measure RAM amount, total and partial script time.

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 274 All time: 7,676 This week: 455Up
Version License PHP version Categories
little-benchmark 0.5.1GNU Lesser Genera...5.6PHP 5, Time and Date, Performance and...
Description 

Author

This class can measure the time passed between execution moments.

It can start a timer in a given moment and take note of the time that elapsed until another moment after having executed some PHP code.

Each moment is associated to a given text label. The class also records the RAM amount used by the current PHP script when it records the elapsed time for a given moment.

The class can return all the recorded moments as a single array or JSON object.

Picture of andrea bernardi
  Performance   Level  
Name: andrea bernardi <contact>
Classes: 3 packages by
Country: Italy Italy
Age: 47
All time rank: 2612101 in Italy Italy
Week rank: 170 Up7 in Italy Italy Up
Innovation award
Innovation award
Nominee: 1x

Example

<?php
// include class
include_once("class.LittleBenchmark.php");

// start global timer when creating an instance
$obj = new LittleBenchmark;

// start partial timer
$timer_1 = $obj->start();
for (
$i=0; $i<500000; $i++) {
   
$hugeArray[$i] = mt_rand(1000,99999);
}
// stop partial timer
$obj->stop($timer_1, "huge array filled with random values");

unset(
$hugeArray); // free RAM

// start partial timer
$timer_2 = $obj->start();
$hugeString='';
for (
$i=0;$i<5000000;$i++) {
   
$hugeString .= 'a';
}
$obj->stop($timer_2, "filled a string with 5,000,000 'a'");

unset(
$hugeString); // free RAM

// stop global timer and save last message
$obj->stopGlobalTimer("Total execution time of this script.");

// output in JSON format
header("Content-type: application/json");
echo
json_encode($obj->events);


// the output is valid JSON like the following:
/*

[{
    "LABEL": "Total execution time of this script.",
    "TIME_START": 1551090327.199855,
    "TIME_END": 1551090327.227312,
    "EXEC_TIME": 0.027457,
    "RAM_USAGE": "2 mb"
}, {
    "LABEL": "huge array filled with random values",
    "TIME_START": 1551090327.199862,
    "TIME_END": 1551090327.203212,
    "EXEC_TIME": 0.00335,
    "RAM_USAGE": "6 mb"
}, {
    "LABEL": "filled a string with 500,000 'a'",
    "TIME_START": 1551090327.203708,
    "TIME_END": 1551090327.227308,
    "EXEC_TIME": 0.0236,
    "RAM_USAGE": "2 mb"
}]

*/


  Files folder image Files (2)  
File Role Description
Plain text file class.LittleBenchmark.php Class the only required file
Accessible without login Plain text file example.php Example Working example on how one can use Little Benchmark

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 0%
Total:274
This week:0
All time:7,676
This week:455Up