From: Timo Tijhof Date: Mon, 13 Aug 2018 16:23:53 +0000 (+0100) Subject: benchmarks: Add benchmark for JavaScriptMinifier X-Git-Tag: 1.34.0-rc.0~4432^2~2 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=2960be7f1d55bfbc577788e709747532adee1af8;p=lhc%2Fweb%2Fwiklou.git benchmarks: Add benchmark for JavaScriptMinifier Bug: T201606 Change-Id: I40fe0b2799b210e552b96f9fadc2b394928ec729 --- diff --git a/autoload.php b/autoload.php index d3ab3af542..1c1eeeff22 100644 --- a/autoload.php +++ b/autoload.php @@ -195,6 +195,7 @@ $wgAutoloadLocalClasses = [ 'BenchmarkDeleteTruncate' => __DIR__ . '/maintenance/benchmarks/bench_delete_truncate.php', 'BenchmarkHooks' => __DIR__ . '/maintenance/benchmarks/benchmarkHooks.php', 'BenchmarkJSMinPlus' => __DIR__ . '/maintenance/benchmarks/benchmarkJSMinPlus.php', + 'BenchmarkJavaScriptMinifier' => __DIR__ . '/maintenance/benchmarks/benchmarkJavaScriptMinifier.php', 'BenchmarkLruHash' => __DIR__ . '/maintenance/benchmarks/benchmarkLruHash.php', 'BenchmarkParse' => __DIR__ . '/maintenance/benchmarks/benchmarkParse.php', 'BenchmarkPurge' => __DIR__ . '/maintenance/benchmarks/benchmarkPurge.php', diff --git a/maintenance/benchmarks/benchmarkJavaScriptMinifier.php b/maintenance/benchmarks/benchmarkJavaScriptMinifier.php new file mode 100644 index 0000000000..bb75660522 --- /dev/null +++ b/maintenance/benchmarks/benchmarkJavaScriptMinifier.php @@ -0,0 +1,57 @@ +addDescription( 'Benchmark for JavaScriptMinifier.' ); + $this->addOption( 'file', 'Path to JavaScript file (may be gzipped)', false, true ); + } + + public function execute() { + $file = $this->getOption( 'file', __DIR__ . '/jsmin/jquery-3.2.1.js.gz' ); + $filename = basename( $file ); + $content = $this->loadFile( $file ); + if ( $content === false ) { + $this->fatalError( 'Unable to open input file' ); + } + + $this->bench( [ + "minify ($filename)" => [ + 'function' => [ JavaScriptMinifier::class, 'minify' ], + 'args' => [ $content ], + ], + ] ); + } +} + +$maintClass = BenchmarkJavaScriptMinifier::class; +require_once RUN_MAINTENANCE_IF_MAIN; diff --git a/maintenance/benchmarks/jsmin/jquery-3.2.1.js.gz b/maintenance/benchmarks/jsmin/jquery-3.2.1.js.gz new file mode 100644 index 0000000000..2e8e9b23cf Binary files /dev/null and b/maintenance/benchmarks/jsmin/jquery-3.2.1.js.gz differ