Postcard from linuxland.
authorTim Starling <tstarling@users.mediawiki.org>
Mon, 21 Jan 2008 16:36:08 +0000 (16:36 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Mon, 21 Jan 2008 16:36:08 +0000 (16:36 +0000)
commit8404b249ad819687d8c85711b44afbe7e7197143
tree5800279032ba611241651c97924526db4d385d0a
parent4f4e397b1095a01791d38b6ecaf9d08a5cf0b8a0
Postcard from linuxland.
* Reduced stack depth by using an internal stack in expand(), and by having some common code paths (e.g. non-subst double-brace during PST) return objects which can be expanded in that internal stack instead of the PHP stack. This is friendly to xdebug but slightly slower than the original version. Also it probably helps robustness when you don't add 7 stack levels per pair of double braces.
* Profiling indicates that expand and PPD are now good targets for porting to C. Abstracted and refactored the relevant code to allow for a drop-in replacement. A factor of 2 reduction in average-case replaceVariables() time may be possible.
* Verified with preprocessorFuzzTest.php against r29950, updated to allow better PST tests.
* Made parserTests.php respect $wgParserConf
* LST and ParserFunctions need a simultaneous update with the core due to changed interfaces. DOM objects are now wrapped rather than directly exposed.
includes/AutoLoader.php
includes/Parser.php
includes/Preprocessor.php [new file with mode: 0644]
includes/Preprocessor_DOM.php [new file with mode: 0644]
maintenance/parserTests.inc
maintenance/preprocessorFuzzTest.php