diff options
Diffstat (limited to 'kohana/core/Benchmark.php')
| -rw-r--r-- | kohana/core/Benchmark.php | 125 | 
1 files changed, 0 insertions, 125 deletions
| diff --git a/kohana/core/Benchmark.php b/kohana/core/Benchmark.php deleted file mode 100644 index ce230f11..00000000 --- a/kohana/core/Benchmark.php +++ /dev/null @@ -1,125 +0,0 @@ -<?php defined('SYSPATH') OR die('No direct access allowed.'); -/** - * Simple benchmarking. - * - * $Id: Benchmark.php 4149 2009-04-01 13:32:50Z Shadowhand $ - * - * @package    Core - * @author     Kohana Team - * @copyright  (c) 2007 Kohana Team - * @license    http://kohanaphp.com/license.html - */ -final class Benchmark { - -	// Benchmark timestamps -	private static $marks; - -	/** -	 * Set a benchmark start point. -	 * -	 * @param   string  benchmark name -	 * @return  void -	 */ -	public static function start($name) -	{ -		if ( ! isset(self::$marks[$name])) -		{ -			self::$marks[$name] = array(); -		} - -		$mark = array -		( -			'start'        => microtime(TRUE), -			'stop'         => FALSE, -			'memory_start' => self::memory_usage(), -			'memory_stop'  => FALSE -		); - -		array_unshift(self::$marks[$name], $mark); -	} - -	/** -	 * Set a benchmark stop point. -	 * -	 * @param   string  benchmark name -	 * @return  void -	 */ -	public static function stop($name) -	{ -		if (isset(self::$marks[$name]) AND self::$marks[$name][0]['stop'] === FALSE) -		{ -			self::$marks[$name][0]['stop'] = microtime(TRUE); -			self::$marks[$name][0]['memory_stop'] = self::memory_usage(); -		} -	} - -	/** -	 * Get the elapsed time between a start and stop. -	 * -	 * @param   string   benchmark name, TRUE for all -	 * @param   integer  number of decimal places to count to -	 * @return  array -	 */ -	public static function get($name, $decimals = 4) -	{ -		if ($name === TRUE) -		{ -			$times = array(); -			$names = array_keys(self::$marks); - -			foreach ($names as $name) -			{ -				// Get each mark recursively -				$times[$name] = self::get($name, $decimals); -			} - -			// Return the array -			return $times; -		} - -		if ( ! isset(self::$marks[$name])) -			return FALSE; - -		if (self::$marks[$name][0]['stop'] === FALSE) -		{ -			// Stop the benchmark to prevent mis-matched results -			self::stop($name); -		} - -		// Return a string version of the time between the start and stop points -		// Properly reading a float requires using number_format or sprintf -		$time = $memory = 0; -		for ($i = 0; $i < count(self::$marks[$name]); $i++) -		{ -			$time += self::$marks[$name][$i]['stop'] - self::$marks[$name][$i]['start']; -			$memory += self::$marks[$name][$i]['memory_stop'] - self::$marks[$name][$i]['memory_start']; -		} - -		return array -		( -			'time'   => number_format($time, $decimals), -			'memory' => $memory, -			'count'  => count(self::$marks[$name]) -		); -	} - -	/** -	 * Returns the current memory usage. This is only possible if the -	 * memory_get_usage function is supported in PHP. -	 * -	 * @return  integer -	 */ -	private static function memory_usage() -	{ -		static $func; - -		if ($func === NULL) -		{ -			// Test if memory usage can be seen -			$func = function_exists('memory_get_usage'); -		} - -		return $func ? memory_get_usage() : 0; -	} - -} // End Benchmark | 
