Change #265541
| Category | doxygen |
| Changed by | Jameson Nash <vtjnash@gmail.com> |
| Changed at | Sun 08 Mar 2026 19:41:20 |
| Repository | https://github.com/doxygen/doxygen.git |
| Project | doxygen |
| Branch | master |
| Revision | 40f82d1047f0deecee6785e2e857a88307690272 |
Comments
Redesign DotRunner as a single global queue with per-format batching Replace the per-.dot-file DotRunner/ThreadPool architecture with a single DotRunner that holds a global queue of all jobs across all source files. Running dot is now batched as one invocation per output format using -O (auto-naming) instead of -o: `dot -Tpng -O file1.dot file2.dot ...` Remove ThreadPool and DOT_NUM_THREADS usage from DotManager. The cmapx map output extension changes from .map to .cmapx to match -O naming. The DOT_NUM_THREADS could be restored by splitting up `system` into a loop for `spawn` and a loop for `waitpid` each taking a fixed proportion of the graphs, but that isn't currently expected to provide significant difference in performance. The DOT_MULTI_TARGETS setting is now ignored (old default OFF, now assumed ON) since the corresponding feature in graphviz is now over 20 years old (1.8.10). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Replaces: #12028
Changed files
- src/dot.cpp
- src/dot.h
- src/dotgraph.cpp
- src/dotgraph.h
- src/dotrunner.cpp
- src/dotrunner.h