MediaWiki
REL1_32
benchmarkHooks.php
Go to the documentation of this file.
1
<?php
24
require_once __DIR__ .
'/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
foreach
( $cases as $label => $load ) {
48
$benches[$label] = [
49
'setup'
=>
function
() use ( $load ) {
50
global
$wgHooks
;
51
$wgHooks
[
'Test'
] = [];
52
for
( $i = 1; $i <= $load; $i++ ) {
53
$wgHooks
[
'Test'
][] = [ $this,
'test'
];
54
}
55
},
56
'function'
=>
function
() {
57
Hooks::run(
'Test'
);
58
}
59
];
60
}
61
$this->
bench
( $benches );
62
}
63
67
public
function
test
() {
68
return
true
;
69
}
70
}
71
72
$maintClass
= BenchmarkHooks::class;
73
require_once
RUN_MAINTENANCE_IF_MAIN
;
$maintClass
$maintClass
Definition
benchmarkHooks.php:72
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:67
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:50
Maintenance\addDescription
addDescription( $text)
Set the description text.
Definition
Maintenance.php:317
$wgHooks
$wgHooks['ArticleShow'][]
Definition
hooks.txt:108
RUN_MAINTENANCE_IF_MAIN
require_once RUN_MAINTENANCE_IF_MAIN
Definition
maintenance.txt:50
maintenance
benchmarks
benchmarkHooks.php
Generated on Mon Nov 25 2024 15:58:15 for MediaWiki by
1.10.0