summaryrefslogtreecommitdiff
path: root/kohana/core/Benchmark.php
diff options
context:
space:
mode:
Diffstat (limited to 'kohana/core/Benchmark.php')
-rw-r--r--kohana/core/Benchmark.php94
1 files changed, 0 insertions, 94 deletions
diff --git a/kohana/core/Benchmark.php b/kohana/core/Benchmark.php
deleted file mode 100644
index 18d1e5f1..00000000
--- a/kohana/core/Benchmark.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php defined('SYSPATH') or die('No direct script access.');
-/**
- * Simple benchmarking.
- *
- * $Id$
- *
- * @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
- (
- 'start' => microtime(TRUE),
- 'stop' => FALSE,
- 'memory_start' => function_exists('memory_get_usage') ? memory_get_usage() : 0,
- 'memory_stop' => FALSE
- );
- }
- }
-
- /**
- * 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]['stop'] === FALSE)
- {
- self::$marks[$name]['stop'] = microtime(TRUE);
- self::$marks[$name]['memory_stop'] = function_exists('memory_get_usage') ? memory_get_usage() : 0;
- }
- }
-
- /**
- * 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]['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
- return array
- (
- 'time' => number_format(self::$marks[$name]['stop'] - self::$marks[$name]['start'], $decimals),
- 'memory' => (self::$marks[$name]['memory_stop'] - self::$marks[$name]['memory_start'])
- );
- }
-
-} // End Benchmark