MediaWiki  master
benchmarkJSMinPlus.php
Go to the documentation of this file.
1 <?php
22 require_once __DIR__ . '/Benchmarker.php';
23 
30  protected $defaultCount = 10;
31 
32  public function __construct() {
33  parent::__construct();
34  $this->addDescription( 'Benchmarks JSMinPlus.' );
35  $this->addOption( 'file', 'Path to JS file', true, true );
36  }
37 
38  public function execute() {
39  Wikimedia\suppressWarnings();
40  $content = file_get_contents( $this->getOption( 'file' ) );
41  Wikimedia\restoreWarnings();
42  if ( $content === false ) {
43  $this->fatalError( 'Unable to open input file' );
44  }
45 
46  $filename = basename( $this->getOption( 'file' ) );
47  $parser = new JSParser();
48 
49  $this->bench( [
50  "JSParser::parse ($filename)" => [
51  'function' => function ( $parser, $content, $filename ) {
52  $parser->parse( $content, $filename, 1 );
53  },
54  'args' => [ $parser, $content, $filename ]
55  ]
56  ] );
57  }
58 }
59 
60 $maintClass = BenchmarkJSMinPlus::class;
61 require_once RUN_MAINTENANCE_IF_MAIN;
const RUN_MAINTENANCE_IF_MAIN
Definition: Maintenance.php:39
getOption( $name, $default=null)
Get an option, or return the default.
bench(array $benchs)
Definition: Benchmarker.php:51
addDescription( $text)
Set the description text.
Maintenance script that benchmarks JSMinPlus.
Base class for benchmark scripts.
Definition: Benchmarker.php:41
addOption( $name, $description, $required=false, $withArg=false, $shortName=false, $multiOccurrence=false)
Add a parameter to the script.
$content
Definition: router.php:78
fatalError( $msg, $exitCode=1)
Output a message and terminate the current script.