<?php
/**
- * Create a doxygen subgroup of Maintenance for benchmarks
- * @defgroup Benchmark
- * @ingroup Maintenance
+ * @defgroup Benchmark Benchmark
+ * @ingroup Maintenance
*/
/**
- * TODO: report PHP version, OS ..
+ * Base code for benchmark scripts.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @todo Report PHP version, OS ..
* @file
* @ingroup Benchmark
*/
-require_once( dirname( __FILE__ ) . '/../Maintenance.php' );
+require_once( __DIR__ . '/../Maintenance.php' );
+
+/**
+ * Base class for benchmark scripts.
+ *
+ * @ingroup Benchmark
+ */
abstract class Benchmarker extends Maintenance {
private $results;
}
$bench_number++;
- $start = wfTime();
+ $start = microtime( true );
for( $i=0; $i<$count; $i++ ) {
call_user_func_array( $bench['function'], $bench['args'] );
}
- $delta = wfTime() - $start;
+ $delta = microtime( true ) - $start;
// function passed as a callback
if( is_array( $bench['function'] ) ) {
$this->results[$bench_number] = array(
'function' => $bench['function'],
- 'arguments' => $bench['args'],
+ 'arguments' => $bench['args'],
'count' => $count,
'delta' => $delta,
'average' => $delta / $count,