summaryrefslogtreecommitdiff
path: root/buildscripts/Benchmark/Iterate.php
diff options
context:
space:
mode:
Diffstat (limited to 'buildscripts/Benchmark/Iterate.php')
-rw-r--r--buildscripts/Benchmark/Iterate.php167
1 files changed, 0 insertions, 167 deletions
diff --git a/buildscripts/Benchmark/Iterate.php b/buildscripts/Benchmark/Iterate.php
deleted file mode 100644
index f09dcb76..00000000
--- a/buildscripts/Benchmark/Iterate.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-//
-// +------------------------------------------------------------------------+
-// | PEAR :: Benchmark |
-// +------------------------------------------------------------------------+
-// | Copyright (c) 2001-2006 Sebastian Bergmann <sb@sebastian-bergmann.de>. |
-// +------------------------------------------------------------------------+
-// | This source file is subject to the New BSD license, That is bundled |
-// | with this package in the file LICENSE, and is available through |
-// | the world-wide-web at |
-// | http://www.opensource.org/licenses/bsd-license.php |
-// | If you did not receive a copy of the new BSDlicense and are unable |
-// | to obtain it through the world-wide-web, please send a note to |
-// | license@php.net so we can mail you a copy immediately. |
-// +------------------------------------------------------------------------+
-//
-// $Id: Iterate.php,v 1.12 2006/02/17 16:29:44 toggg Exp $
-//
-
-require_once 'Benchmark/Timer.php';
-
-/**
- * Provides timing and profiling information.
- *
- * Example 1
- *
- * <code>
- * <?php
- * require_once 'Benchmark/Iterate.php';
- *
- * $benchmark = new Benchmark_Iterate;
- *
- * function foo($string) {
- * print $string . '<br>';
- * }
- *
- * $benchmark->run(100, 'foo', 'test');
- * $result = $benchmark->get();
- * ?>
- * </code>
- *
- * Example 2
- *
- * <code>
- * <?php
- * require_once 'Benchmark/Iterate.php';
- *
- * $benchmark = new Benchmark_Iterate;
- *
- * class MyClass {
- * function foo($string) {
- * print $string . '<br>';
- * }
- * }
- *
- * $benchmark->run(100, 'myclass::foo', 'test');
- * $result = $benchmark->get();
- * ?>
- * </code>
- *
- * Example 3
- *
- * <code>
- * <?php
- * require_once 'Benchmark/Iterate.php';
- *
- * $benchmark = new Benchmark_Iterate;
- *
- * class MyClass {
- * function foo($string) {
- * print $string . '<br>';
- * }
- * }
- *
- * $o = new MyClass();
- *
- * $benchmark->run(100, 'o->foo', 'test');
- * $result = $benchmark->get();
- * ?>
- * </code>
- *
- * @author Sebastian Bergmann <sb@sebastian-bergmann.de>
- * @copyright Copyright &copy; 2002-2005 Sebastian Bergmann <sb@sebastian-bergmann.de>
- * @license http://www.php.net/license/3_0.txt The PHP License, Version 3.0
- * @category Benchmarking
- * @package Benchmark
- */
-class Benchmark_Iterate extends Benchmark_Timer {
- /**
- * Benchmarks a function or method.
- *
- * @access public
- */
- function run() {
- $arguments = func_get_args();
- $iterations = array_shift($arguments);
- $function_name = array_shift($arguments);
-
- if (strstr($function_name, '::')) {
- $function_name = explode('::', $function_name);
- $objectmethod = $function_name[1];
- }
-
- if (strstr($function_name, '->')) {
- $function_name = explode('->', $function_name);
- $objectname = $function_name[0];
-
- $object = $GLOBALS[$objectname];
- $objectmethod = $function_name[1];
-
- for ($i = 1; $i <= $iterations; $i++) {
- $this->setMarker('start_' . $i);
- call_user_func_array(array($object, $function_name[1]), $arguments);
- $this->setMarker('end_' . $i);
- }
-
- return(0);
- }
-
- for ($i = 1; $i <= $iterations; $i++) {
- $this->setMarker('start_' . $i);
- call_user_func_array($function_name, $arguments);
- $this->setMarker('end_' . $i);
- }
- }
-
- /**
- * Returns benchmark result.
- *
- * $result[x ] = execution time of iteration x
- * $result['mean' ] = mean execution time
- * $result['iterations'] = number of iterations
- *
- * @return array
- * @access public
- */
- function get($simple_output = false) {
- $result = array();
- $total = 0;
-
- $iterations = count($this->markers)/2;
-
- for ($i = 1; $i <= $iterations; $i++) {
- $time = $this->timeElapsed('start_'.$i , 'end_'.$i);
-
- if (extension_loaded('bcmath')) {
- $total = bcadd($total, $time, 6);
- } else {
- $total = $total + $time;
- }
-
- if (!$simple_output) {
- $result[$i] = $time;
- }
- }
-
- if (extension_loaded('bcmath')) {
- $result['mean'] = bcdiv($total, $iterations, 6);
- } else {
- $result['mean'] = $total / $iterations;
- }
-
- $result['iterations'] = $iterations;
-
- return $result;
- }
-}