Thread:Forum:Use liquid threads in the forum?/Fugliness/reply (26)

Ok, here's an excerpt from an example output. Out of 13 seconds (it's slower when profiling is on), Article::getContent takes up only 0.314916 seconds. There are 254 Article::getContents calls, but only 157 call Article::loadContent calls, and 174 Revision::loadText (this is what loads the revision text from the db) calls. Revision::loadText takes up only 0.088527 seconds, so the database is definitely not the bottleneck. The parser is. In fact, the number of wfMsgReal calls greatly concerns me...

(format is seconds count name) 13.215451     1 - -total 3.611685 26819 - wfMsgReal 3.447692  1287 - Parser::parse 3.399038  1287 - Parser::parse-OutputPage::parse 2.164450   138 - WikiEditorHooks::addModules 2.131158  1292 - Parser::internalParse 1.788212  2005 - Parser::replaceVariables 1.526407   694 - Parser::transformMsg 1.496620   694 - Parser::preprocess 1.345063  3222 - PPFrame_DOM::expand 0.996161  1142 - Parser::braceSubstitution 0.904751  3313 - Preprocessor_DOM::preprocessToObj 0.775065     1 - Setup.php 0.762118     1 - Setup.php-SetupSession 0.580727  2004 - Parser::clearState 0.411560  3308 - Preprocessor_DOM::preprocessToXml 0.314916   254 - Article::getContent 0.302848   157 - Article::loadContent 0.278424  3313 - Preprocessor_DOM::preprocessToObj-loadXML 0.274240   795 - Database::query