PHP Classes

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

Recommend this page to a friend!
  Info   View files Example   View files View files (2)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 274 All time: 7,675 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: 2609101 in Italy Italy
Week rank: 280 Up13 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  
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

 Version Control Unique User Downloads Download Rankings  
 0%
Total:274
This week:0
All time:7,675
This week:455Up