Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
17 | 2 | 2 | 53.8ms | 108ms | Locale::Maketext::Lexicon::import |
16 | 1 | 1 | 48.6ms | 48.6ms | Locale::Maketext::Lexicon::CORE:readline (opcode) |
1 | 1 | 1 | 28.8ms | 34.9ms | utf8::SWASHNEW |
80 | 2 | 1 | 25.7ms | 376ms | Foswiki::_processMacros (recurses: max depth 5, inclusive time 302ms) |
408 | 2 | 1 | 17.8ms | 358ms | Foswiki::_expandMacroOnTopicRendering (recurses: max depth 3, inclusive time 144ms) |
446 | 6 | 3 | 17.5ms | 22.8ms | Foswiki::Attrs::new |
1 | 1 | 1 | 12.7ms | 112ms | main::BEGIN@22 |
124 | 50 | 34 | 12.7ms | 21.2ms | Exporter::import |
1118 | 82 | 1 | 12.3ms | 12.3ms | Foswiki::Render::CORE:subst (opcode) |
2 | 2 | 2 | 12.1ms | 40.9ms | Foswiki::Templates::readTemplate |
1 | 1 | 1 | 12.0ms | 14.8ms | Foswiki::BEGIN@576 |
80 | 1 | 1 | 11.8ms | 12.8ms | Exporter::Heavy::heavy_export |
606 | 24 | 12 | 10.5ms | 19.3ms | Foswiki::Prefs::getPreference |
5 | 1 | 1 | 9.97ms | 11.8ms | CGI::_compile |
23 | 5 | 5 | 9.53ms | 11.2ms | Foswiki::renderer |
Stmts | Exclusive Time |
Reports | Source File |
---|---|---|---|
1851 | 109ms | line • block • sub | Locale/Maketext/Lexicon.pm (including 1 string eval) |
22962 | 84.0ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki.pm (including 5 string evals) |
6298 | 48.4ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Render.pm |
10376 | 37.0ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Meta.pm |
10154 | 34.3ms | line • block • sub | utf8_heavy.pl |
9476 | 32.0ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Templates.pm |
8596 | 27.8ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Attrs.pm |
1500 | 20.4ms | line • block • sub | CGI.pm (including 2 string evals) |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 28.8ms | 34.8ms | utf8::SWASHNEW |
80 | 2 | 1 | 25.3ms | 279ms | Foswiki::_processMacros (recurses: max depth 5, inclusive time 295ms) |
408 | 2 | 1 | 17.7ms | 260ms | Foswiki::_expandMacroOnTopicRendering (recurses: max depth 3, inclusive time 141ms) |
446 | 6 | 3 | 17.4ms | 22.5ms | Foswiki::Attrs::new |
124 | 50 | 34 | 12.6ms | 21.1ms | Exporter::import |
1 | 1 | 1 | 12.6ms | 110ms | main::BEGIN@22 |
2 | 2 | 2 | 12.0ms | 40.5ms | Foswiki::Templates::readTemplate |
1118 | 82 | 1 | 12.0ms | 12.0ms | Foswiki::Render::CORE:subst (opcode) |
1 | 1 | 1 | 11.8ms | 14.6ms | Foswiki::BEGIN@576 |
80 | 1 | 1 | 11.8ms | 12.8ms | Exporter::Heavy::heavy_export |
606 | 24 | 12 | 10.4ms | 19.0ms | Foswiki::Prefs::getPreference |
5 | 1 | 1 | 9.87ms | 11.2ms | CGI::_compile |
23 | 5 | 5 | 9.45ms | 11.0ms | Foswiki::renderer |
24 | 1 | 1 | 8.82ms | 27.0ms | Foswiki::Prefs::Parser::parse |
1453 | 76 | 8 | 7.87ms | 7.87ms | Foswiki::CORE:subst (opcode) |
Stmts | Exclusive Time |
Reports | Source File |
---|---|---|---|
22962 | 83.0ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki.pm (including 5 string evals) |
6298 | 47.8ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Render.pm |
10376 | 36.3ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Meta.pm |
10154 | 34.2ms | line • block • sub | utf8_heavy.pl |
9476 | 31.6ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Templates.pm |
8596 | 27.5ms | line • block • sub | /home/babar/work/wiki/core/lib/Foswiki/Attrs.pm |
1500 | 19.6ms | line • block • sub | CGI.pm (including 2 string evals) |
for i in locale/*.po;do msgfmt -o ${i%po}mo $i;done
-- OlivierRaginel - 19 Oct 2010
TODO:
configure
, as GeorgeClark suggested: A Checker for the po directory which regenerates the .mo file if newer dates found?
# new file: ../../../CPAN/lib/Locale/Msgfmt.pm # new file: ../../../CPAN/lib/Locale/Msgfmt/Utils.pm # new file: ../../../CPAN/lib/Locale/Msgfmt/mo.pm # new file: ../../../CPAN/lib/Locale/Msgfmt/po.pm # modified: UserInterfaceInternationalisation.pm-- GeorgeClark - 10 Mar 2011 The new compiler step has been checked into trunk only for now. If there is sufficient testing, we should check this into 1.1.3. -- GeorgeClark - 12 Mar 2011 Also added an option to disable compression. (Needed for trunk.foswiki.org - or .mo files will become stale after svn updates.) Configure checker will warn if stale files are found and compression is disabled. -- GeorgeClark - 12 Mar 2011 You mean it will warn if stale files are found and compression is enabled, right? Ah no, you mean if compressed files are found and compression is disabled. OK. But configure warns if files are stale (like .mo older than .po), and compression is enabled? -- OlivierRaginel - 19 Apr 2011
Summary | Performance of language translations can be improved by using compressed .mo files instead of .po files |
ReportedBy | OlivierRaginel |
Codebase | 1.1.3, trunk |
SVN Range | |
AppliesTo | Engine |
Component | I18N, Performance |
Priority | Enhancement |
CurrentState | Closed |
WaitingFor | |
Checkins | distro:01aa09a3f7f1 distro:aa0badb2cccd distro:beb29cfd8559 distro:1b266389e171 distro:98206ea3ecca distro:e7dd9585d074 distro:176ba318b883 distro:5e598dabeeff |
TargetRelease | patch |
ReleasedIn | 1.1.4 |