I frequently work with large bodies of C++ or Objective C source code and am growing increasingly frustrated with Doxygen.

It's horribly slow for significant code bases (> 1 million lines of code), and its need to start from scratch on every run rather than allow a directory of code to be added/removed from its database just makes it worse.

Also, the GraphViz/DotViz tool takes forever to generate the few class and usage diagrams that it does offer, though they become incomprehensible with large complex code bases anyhow.

I decided to ask the question: Is there a better way?

I am willing to pay a few hundred for a good commercial solution. In fact, I prefer a commercial solution since this is core to my work. Bugs in Doxygen, Sphinx and other open-source documentation tools take forever to get fixes; I understand that it's not the most glamorous tool, but complex issues take months to have any movement...if ever.

So, if you're frequently dealing with complex (i.e. heavy template usage, heavy class inheritance), large (1 million to 1.5 billion line ) code bases on multiple mainstream platforms (macOS, Linux, OpenBSD, embedded), what would you use to generate code documentation other than Doxygen or Sphinx?

For reference, I'm currently wrangling a project on an 8-core Linode Linux instance that has been running for about a calendar week uninterrupted. I don't think the additional cores are helping, actually, which is part of the problem. GraphViz makes minimal use of multi-threading, and Doxygen is all single-threaded, as best I can tell.

There isn't even a completion estimation. It's been sitting on "Building member list..." for days.

Ideally, the solution would run on macOS (which is where I would most likely buy a license) or Linux/BSD. I'm desperate enough that I would accept a Windows solution too.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.