From: Timo Tijhof Date: Thu, 15 Jun 2017 17:06:10 +0000 (+0100) Subject: benchmarks: Add benchmark for JSMinPlus X-Git-Tag: 1.31.0-rc.0~2865^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/membres/fiche.php?a=commitdiff_plain;h=0df8f6d49c71dc908ba3fe5f93a5e3346f303331;p=lhc%2Fweb%2Fwiklou.git benchmarks: Add benchmark for JSMinPlus Example usage > mwscript maintenance/benchmarks/benchmarkJSMinPlus.php --file resources/lib/jquery/jquery.js -v Bug: T31784 Change-Id: I3c11574adb864a4bfbfceba137e285fdb8dc66d2 --- diff --git a/autoload.php b/autoload.php index 293bf6a829..2560bdbdb9 100644 --- a/autoload.php +++ b/autoload.php @@ -192,6 +192,7 @@ $wgAutoloadLocalClasses = [ 'BenchmarkCSSMin' => __DIR__ . '/maintenance/benchmarks/benchmarkCSSMin.php', 'BenchmarkDeleteTruncate' => __DIR__ . '/maintenance/benchmarks/bench_delete_truncate.php', 'BenchmarkHooks' => __DIR__ . '/maintenance/benchmarks/benchmarkHooks.php', + 'BenchmarkJSMinPlus' => __DIR__ . '/maintenance/benchmarks/benchmarkJSMinPlus.php', 'BenchmarkParse' => __DIR__ . '/maintenance/benchmarks/benchmarkParse.php', 'BenchmarkPurge' => __DIR__ . '/maintenance/benchmarks/benchmarkPurge.php', 'BenchmarkTidy' => __DIR__ . '/maintenance/benchmarks/benchmarkTidy.php', diff --git a/maintenance/benchmarks/benchmarkJSMinPlus.php b/maintenance/benchmarks/benchmarkJSMinPlus.php new file mode 100644 index 0000000000..dc92516018 --- /dev/null +++ b/maintenance/benchmarks/benchmarkJSMinPlus.php @@ -0,0 +1,62 @@ +addDescription( 'Benchmarks JSMinPlus.' ); + $this->addOption( 'file', 'Path to JS file', true, true ); + } + + public function execute() { + MediaWiki\suppressWarnings(); + $content = file_get_contents( $this->getOption( 'file' ) ); + MediaWiki\restoreWarnings(); + if ( $content === false ) { + $this->error( 'Unable to open input file', 1 ); + } + + $filename = basename( $this->getOption( 'file' ) ); + $parser = new JSParser(); + + $this->bench( [ + "JSParser::parse ($filename)" => [ + 'function' => function ( $parser, $content, $filename ) { + $parser->parse( $content, $filename, 1 ); + }, + 'args' => [ $parser, $content, $filename ] + ] + ] ); + } +} + +$maintClass = 'BenchmarkJSMinPlus'; +require_once RUN_MAINTENANCE_IF_MAIN; diff --git a/maintenance/jsparse.php b/maintenance/jsparse.php index 770251cf0d..49b945cbad 100644 --- a/maintenance/jsparse.php +++ b/maintenance/jsparse.php @@ -24,7 +24,7 @@ require_once __DIR__ . '/Maintenance.php'; /** - * Maintenance script to do test JavaScript validity parses using jsmin+'s parser + * Maintenance script to test JavaScript validity using JsMinPlus' parser * * @ingroup Maintenance */