Doxygen大约需要12个小时才能运行在我们的代码库上。这主要是因为有很多代码需要处理(大约150万行)。但是,它很快接近我们无法进行夜间文档更新的时间点,因为它们需要很长时间。我们已经不得不减少图表深度,将其降低到12小时。Doxygen很慢
我试过标准方法,但我确实需要高质量的输出,这包括图表和SEARCH_INCLUDES。我有一台相当不错的机器来运行Doxygen,但Doxygen没有利用它的许多内核。 (它支持构建服务器上的单个CPU,但仅占可用系统的4%。)多线程Dot构建很方便,但这只是构建时间的一半左右。
是否有任何技术可以用于通过多个进程运行doxygen并手动分割任务?我已经看到了一些关于创建标记文件的讨论,但我对他们不了解足够了解他们是否会做我想做的事。我正在寻找的是这样的:
doxygen Doxyfile-folder1
doxygen Doxyfile-folder2
doxygen Doxyfile-folder3
doxygen Doxyfile-folder4
doxygen-join output/folder1/html output/folder2/html output/folder3/html output/folder4/html
当然,我只是做东西了,但是这是我要找一个想法。另外,我会使用4个以上的进程。
服务器是否有足够的RAM来保持整个代码库的缓存并运行doxygen而不进行交换? – mpartel
更多内存和/或更快的硬盘。拿起一个80 GB的固态硬盘,并把你的代码。 IO密集型软件将从现代固态硬盘中获益匪浅。 –
那么,它目前坐在10k驱动器的RAID 10阵列上,所以它不应该那么慢... – alficles