I’ve been working on outputting the code documentation for MySQL 5.0.2 using doxygen, and have some advice to anyone attempting this feat. Don’t configure doxygen to generate call graphs!. At least not for the MySQL core distribution. My laptop ran for 18 hours yesterday and last night and this morning, I checked on its progress and a flurry of emails had been sent to the local email@example.com about memory errors running
dot, which is the graph visualization toolkit from AT&T labs needed to produce the UML diagramming doxygen is capable of producing.
I knew that the call depth for a lot of the major functions in MySQL was long — hundreds to thousands of sub-calls — and was expecting a long generation time. But, this was crazy.
So, I stripped the CALL_GRAPH settings from the configuration file I used for doxygen and restarted the process after
rm -rf ing the html directory it had monstrously created. Seems to be running at a good pace now, having generated the docs for most compounds…
Anyway, check back soon for the link to MySQL internals documentation I’m posting for public viewing; it’s also a big feature of Chapter 4 of our upcoming Pro MySQL book, which does a complete code-walkthrough.
BTW, that 18 hours was after I had already excluded many directories, like the bdb storage engine, which, among other annoyances, adds a ton of compounds to the already extensive class list upon doc generation.