Refactor out duplicate code
authorSam Reed <reedy@users.mediawiki.org>
Sat, 15 Oct 2011 22:23:50 +0000 (22:23 +0000)
committerSam Reed <reedy@users.mediawiki.org>
Sat, 15 Oct 2011 22:23:50 +0000 (22:23 +0000)
Add 10 subscribers. Can we have 10 of the same?

maintenance/benchmarks/benchmarkHooks.php

index a9b4722..59466d0 100644 (file)
@@ -29,31 +29,25 @@ class BenchmarkHooks extends Benchmarker {
        }\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