Merge "Ignore CentralIdLookup::resetCache() in code coverage reports"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 21 Aug 2018 10:35:04 +0000 (10:35 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 21 Aug 2018 10:35:04 +0000 (10:35 +0000)
maintenance/benchmarks/Benchmarker.php
maintenance/benchmarks/benchmarkTitleValue.php

index 9bfebce..1559ee9 100644 (file)
@@ -94,6 +94,10 @@ abstract class Benchmarker extends Maintenance {
                        // Run benchmarks
                        $stat = new RunningStat();
                        for ( $i = 0; $i < $count; $i++ ) {
+                               // Setup outside of time measure for each loop
+                               if ( isset( $bench['setupEach'] ) ) {
+                                       $bench['setupEach']();
+                               }
                                $t = microtime( true );
                                call_user_func_array( $bench['function'], $bench['args'] );
                                $t = ( microtime( true ) - $t ) * 1000;
index c60f4bb..6bd7953 100644 (file)
@@ -83,14 +83,22 @@ class BenchmarkTitleValue extends Benchmarker {
                        [
                                'function' => [ $this, 'getPrefixedTextTitle' ],
                        ],
-                       [
+                       'parseTitleValue cached' => [
                                'function' => [ $this, 'parseTitleValue' ],
                                'setup' => [ $this, 'randomize' ],
                        ],
-                       [
+                       'parseTitle cached' => [
                                'function' => [ $this, 'parseTitle' ],
                                'setup' => [ $this, 'randomize' ],
                        ],
+                       'parseTitleValue no cache' => [
+                               'function' => [ $this, 'parseTitleValue' ],
+                               'setupEach' => [ $this, 'randomize' ],
+                       ],
+                       'parseTitle no cache' => [
+                               'function' => [ $this, 'parseTitle' ],
+                               'setupEach' => [ $this, 'randomize' ],
+                       ],
                ] );
        }