Thread:Extension talk:DynamicPageList (Wikimedia)/Performance concerns regarding the Intersection extension/reply (6)

Yes, catserv could be used to make category intersection efficient. It was indeed designed for that. There's a PHP client library, and some demo code that shows how to do category intersections and other filtering. That par4t is pretty streight forwards. But:

1) Graphserv is a standalone graph db engine. It's a custom build c++ software, wich would have to be reviewed, deployed and maintained. And while I have done quite a bit of testing with it, and i'm pretty happy with the results, it hasn't seen any long term / heavy load testing yet.

2) For Graphserv to be useful, it needs to be up to date - i.e. whenever a categorylink entry is made or removed in mysql, this needs to be done in graphserv as well. This isn't totally trivial.

Actually, I think 2) should actually be implememented as a separate extension (one that just keeps a graphserv instance in sync with the mediawiki db). DPL could then use graphserv if it's present.