MediaWiki
master
benchmarkHooks.php
Go to the documentation of this file.
1
<?php
24
require_once __DIR__ .
'/../includes/Benchmarker.php'
;
25
31
class
BenchmarkHooks
extends
Benchmarker
{
32
protected
$defaultCount
= 10;
33
34
public
function
__construct
() {
35
parent::__construct();
36
$this->
addDescription
(
'Benchmark MediaWiki Hooks.'
);
37
}
38
39
public
function
execute
() {
40
$cases = [
41
'Loaded 0 hooks'
=> 0,
42
'Loaded 1 hook'
=> 1,
43
'Loaded 10 hooks'
=> 10,
44
'Loaded 100 hooks'
=> 100,
45
];
46
$benches = [];
47
$hookContainer = $this->
getHookContainer
();
48
foreach
( $cases as $label => $load ) {
49
$benches[$label] = [
50
'setup'
=>
function
() use ( $load, $hookContainer ) {
51
for
( $i = 1; $i <= $load; $i++ ) {
52
$hookContainer->register(
'Test'
, [ $this,
'test'
] );
53
}
54
},
55
'function'
=>
static
function
() use ( $hookContainer ) {
56
$hookContainer->run(
'Test'
);
57
}
58
];
59
}
60
$this->
bench
( $benches );
61
}
62
66
public
function
test
() {
67
return
true
;
68
}
69
}
70
71
$maintClass
= BenchmarkHooks::class;
72
require_once RUN_MAINTENANCE_IF_MAIN;
$maintClass
$maintClass
Definition:
benchmarkHooks.php:71
BenchmarkHooks
Maintenance script that benchmarks MediaWiki hooks.
Definition:
benchmarkHooks.php:31
BenchmarkHooks\__construct
__construct()
Default constructor.
Definition:
benchmarkHooks.php:34
BenchmarkHooks\execute
execute()
Do the actual work.
Definition:
benchmarkHooks.php:39
BenchmarkHooks\test
test()
Definition:
benchmarkHooks.php:66
BenchmarkHooks\$defaultCount
$defaultCount
Definition:
benchmarkHooks.php:32
Benchmarker
Base class for benchmark scripts.
Definition:
Benchmarker.php:40
Benchmarker\bench
bench(array $benchs)
Definition:
Benchmarker.php:49
Maintenance\getHookContainer
getHookContainer()
Get a HookContainer, for running extension hooks or for hook metadata.
Definition:
Maintenance.php:1312
Maintenance\addDescription
addDescription( $text)
Set the description text.
Definition:
Maintenance.php:325
maintenance
benchmarks
benchmarkHooks.php
Generated on Mon Sep 25 2023 09:10:20 for MediaWiki by
1.9.1