Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance problem: Is there a way to make doxygen parallel computing improve performance? #9989

Open
BookerShi opened this issue Apr 20, 2023 · 8 comments
Labels
needinfo reported bug is incomplete, please add additional info

Comments

@BookerShi
Copy link

Describe the bug
Performance problem: We have a project here that needs to generate .dot files. The file size is about 1.3GB. I found that using doxygen to generate dot files is very slow and takes several days. Is there a way to make doxygen parallel computing improve performance?

Version
doxygen 1.9.7

Additional context
my configuration is CALL_GRAPG = YES , HAVE_DOT=YES, DOT_CLEANUP=YES, RECURSIVE=YES

@albert-github albert-github added the needinfo reported bug is incomplete, please add additional info label Apr 20, 2023
@albert-github
Copy link
Collaborator

  • Which version of doxygen are you using exactly, the 1.9.7 version is the master version and thus a moving target. Required is doxygen -v).
  • please add the output of the command doxygen -x Doxyfile to your question (preferably in a, compressed, tar or zip file) so we are sure of the settings used (as in teh question there is already a typing error: CALL_GRAPG should be CALL_GRAPH.
  • which OS are you using and how many physical cores do you have?

You say: " The file size is about 1.3GB." Is your project just a single file? or is this the size of the source directory or the size of the output?

From the, scarce, information I get you are generating the HTML and LaTeX documentation, is this intended or do you only use HTML?

The first run / run on a clean output directory will take a bit longer, subsequent runs on the already existing directory will be faster (due to some caching by means of the generated md5 / output files).

@BookerShi
Copy link
Author

Thank you for your reply, my project is not just a file, it is a directory including souce code and other dependencies. My server has 8 cores, I am not sure whether doxygen have parallel operation that can speed up the .dot time of generation.
I also have a question, Adding "-x" in the command "doxygen -x Doxyfile" means speeding up the second generating time?

@albert-github
Copy link
Collaborator

No doxygen -x Doxyfile is just for getting some information that we need so we are 100% sure what you use as settings.

There are options regarding speed:

  • DOT_NUM_THREADS for executing some dot threads in parallel, should be set OK but depending on your system comfiguration a setting of 8 (or 4 in case you cores are 4 physical core and 4 hyper thread cores) might be more appropriate
  • NUM_PROC_THREADS for some not-dot related parallel processing

@doxygen
Copy link
Owner

doxygen commented Apr 21, 2023

How many dot files is doxygen generating for your project?

Which OS are you using? Windows is known to be much lower than Linux or MacOS.

Setting DOT_MULTI_TARGETS to YES may also help a bit.

@BookerShi
Copy link
Author

BookerShi commented Apr 23, 2023 via email

@BookerShi
Copy link
Author

BookerShi commented Apr 23, 2023 via email

@albert-github
Copy link
Collaborator

@BookerShi
Note that attachments etc. are not at all or not properly shown when replying by email so the comment #9989 (comment) doesn't contain useful information

Regarding the second email, did you try to set GENERATE_LATEX=NO? Info looks like to be embedded in the hard to read / unreadable comment #9989 (comment) comment

@BookerShi
Copy link
Author

BookerShi commented Apr 23, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needinfo reported bug is incomplete, please add additional info
Projects
None yet
Development

No branches or pull requests

3 participants