(Magnus Manske magnus.manske@web.de):
I think we can improve the speed of rendering/parsing a page enough so caching won't be necessary
I agree, but it's something that's easy to test with the new suite, so if it works well, we can use it.
- Enhanced parser, probably in C++ (working on it)
Waste of time. Parsing is clearly not a significant factor in the present CPU load, and even one written in C would spend most of its time looking up links in the database just as the PHP code does. And the overhead of linking the two would wipe out any savings.
- Caching of the "known-to-be-existing" links in a single field
(separated with "\n", probably) in the cur table. That will greatly reduce the number of database queries for the link table(s)
Caching known links in groups is indeed someting I will try, but in their own table to reduce lock contention. Another thing I want to look into is caching link lookups in a separate process outside the page rendering, so the cache can be persistent across pages. But first on the list in MySQL 4.0.12. I've already got the testing setup working now--one machine on my LAN running the software and another running the test suite--so I can start timing changes like that. I still want to add another few days worth of code to the tests though.