}\r
\r
public function execute() {\r
- $time = $this->benchEmptyHooks();\r
- $this->output( 'Empty hook: ' . $time . "\n" );\r
- $time = $this->benchLoadedHooks();\r
- $this->output( 'Loaded hook: ' . $time . "\n" );\r
- $this->output( "\n" );\r
- }\r
-\r
- private function benchEmptyHooks( $trials = 1 ) {\r
global $wgHooks;\r
$wgHooks['Test'] = array();\r
\r
- $start = wfTime();\r
- for ( $i = 0; $i < $trials; $i++ ) {\r
- wfRunHooks( 'Test' );\r
- }\r
- $delta = wfTime() - $start;\r
- $pertrial = $delta / $trials;\r
- return sprintf( "Took %6.2fms",\r
- $pertrial );\r
- }\r
+ $time = $this->benchHooks();\r
+ $this->output( 'Empty hook: ' . $time . "\n" );\r
\r
- private function benchLoadedHooks( $trials = 1 ) {\r
- global $wgHooks;\r
$wgHooks['Test'][] = array( $this, 'test' );\r
+ $time = $this->benchHooks();\r
+ $this->output( 'Loaded (one) hook: ' . $time . "\n" );\r
+\r
+ for( $i = 0; $i < 9; $i++ ) {\r
+ $wgHooks['Test'][] = array( $this, 'test' );\r
+ }\r
+ $time = $this->benchHooks();\r
+ $this->output( 'Loaded (ten) hook: ' . $time . "\n" );\r
+ $this->output( "\n" );\r
+ }\r
\r
+ private function benchHooks( $trials = 1 ) {\r
$start = wfTime();\r
for ( $i = 0; $i < $trials; $i++ ) {\r
wfRunHooks( 'Test' );\r