-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Describe the bug
Newest doxygen version is impracticably slow when there are lots of using namespace
in the code. I stopped generating after 14 hours. Older versions take 10 minutes for the same codebase.
Expected behavior
Don't take forever
To Reproduce
Unfortunately I cannot share our code. It might be reproducible with several files and lots of namespaces, I can try to do that if you think that helps
Version
I checked out the latest version, and did a git bisect
to find out when the slowdown was introduced. It first happened in this commit: 8a93f4e. Before this commit a stripped down codebase takes 0.5 seconds to generate, after that commit I stopped it after several minutes. I did all my tests in Linux, with clang++
Stack trace
I used hotspot to figure out where doxygen was hanging (for this I built master
), and got this flamegraph:
Additional context
Looking at the changes in 8a93f4e I suspect the issue is now too often a fresh AccessStack
or VisitedNamespaces
or StringUnorderedSet
is used when previously a non-empty container was used