]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - maintenance/language/langmemusage.php
MediaWiki 1.16.0
[autoinstallsdev/mediawiki.git] / maintenance / language / langmemusage.php
1 <?php
2 /**
3  * Dumb program that tries to get the memory usage
4  * for each language file.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  * http://www.gnu.org/copyleft/gpl.html
20  *
21  * @ingroup MaintenanceLanguage
22  */
23
24 /** This is a command line script */
25 require_once( dirname(__FILE__) . '/../Maintenance.php' );
26 require_once( dirname(__FILE__) . '/languages.inc' );
27
28 class LangMemUsage extends Maintenance {
29
30         public function __construct() {
31                 parent::__construct();
32                 $this->mDescription = "Dumb program that tries to get the memory usage\n" .
33                         "for each language file";
34         }
35
36         public function execute() {
37                 if ( !function_exists( 'memory_get_usage' ) )
38                         $this->error( "You must compile PHP with --enable-memory-limit", true );
39
40                 $langtool = new languages();
41                 $memlast = $memstart = memory_get_usage();
42
43                 $this->output( "Base memory usage: $memstart\n" );
44         
45                 foreach ( $langtool->getLanguages() as $langcode ) {
46                         Language::factory( $langcode );
47                         $memstep = memory_get_usage();
48                         $this->output( sprintf( "%12s: %d\n", $langcode, ($memstep- $memlast) ) );
49                         $memlast = $memstep;
50                 }
51
52                 $memend = memory_get_usage();
53
54                 $this->output( ' Total Usage: '.($memend - $memstart)."\n" );
55         }
56 }
57
58 $maintClass = "LangMemUsage";
59 require_once( DO_MAINTENANCE );