On Mon, Nov 12, 2007 at 08:35:18PM +1100, Steve Bennett wrote:
- Should be implemented in the same language (i.e. PHP) so that any
comparisons are comparing-apples-with-applies, and so that it can run on the current installed base of servers as-is. Having other implementations in other languages is fine (e.g. you could have a super-fast version in C too) just provide one in PHP that can be directly compared with the current parser for performance and backwards-compatibility.
That condition seems bizarre. The parser is either faster or it's slower. Whether it's faster because it's implemented in C is irrelevant: it's faster.
In any case I thought it had been decided that it had to be in PHP?
No, I think if we can get a 20:1 speedup for a C version, they'd take it. :-0
- Should have a worst-case render time no worse than 2x slower on any given
input.
Any given? That's not reasonable. Perhaps "Any given existing Wikipedia page"? It would be too easy to find some construct that is rendered quickly by the existing parser but is slow with the new one, then create a page that contained 5000 examples of that construct.
Sure; pathological cases are always possible. Let's say "on any 10 randomly chosen already extant pages of wikitext."
Cheers, -- jra