I just doubled the speed of the PHP parser.
In my test page ([[Anime]], ~60 links with half broken), I cut the time
for replaceInternalLinks from 800ms to 350ms, and the time for
Article::view from 1310 to 610ms.
This was acheived by eliminating redundant calls to secureAndSplit,
using static variables for constants, and catering to PHP oddities such
as the fact that === is slower than ==.
Okay, you may shower me with praise now.
-- Tim Starling.