diff options
author | Charles.Lee <cheoljoo@gmail.com> | 2018-08-29 12:53:35 (GMT) |
---|---|---|
committer | Charles.Lee <cheoljoo@gmail.com> | 2018-08-29 12:53:35 (GMT) |
commit | f73c9301a711baa68ef2a38acb279b421e3ca2b0 (patch) | |
tree | 969be5bb2040301ff74048575d15b6cdfa165078 /src/searchindex.cpp | |
parent | aeff95e38dca51f4a9ace9af8aa0387ad683f7f0 (diff) | |
download | Doxygen-f73c9301a711baa68ef2a38acb279b421e3ca2b0.zip Doxygen-f73c9301a711baa68ef2a38acb279b421e3ca2b0.tar.gz Doxygen-f73c9301a711baa68ef2a38acb279b421e3ca2b0.tar.bz2 |
Imporvement of performance : Reduce the Java running count (3rd trial)
# What is it
- #6465 is the first trial. So I followed up the albert advice.
- in case of debug you use printf statements, I think that here there better options would be
- create an -d flag (e.g. -d plantuml) that gives the information, so no need for using the configuration option
- Follow up : create -d plantuml [debug.h, debug.cpp]
- usage of printf
- printf should not be used,all output is steered over calls to routines as defined in message.cpp,
- Follow up : use Debug::Print(Debug::Plantuml, ... and msg()
- usage of std::string / std::map
- in doxygen the string manipulation is. mostly, done by means of Qt classes (e.g. classes QCString, QString). For consistency these classes should be used.
- map manipulation is also done by means of Qt classes (dictionary and list classes)
- Follow up : use QDict QList QCString [plantuml.h, plantuml.cpp]
- dirent / opendir /readdir
- when browsing through directories the routines line readFileOrDirectory should probably be used or the techniques used in this routine
- Follow up : I will follow when I try to reduce redundancy of creating plantuml image.
- #6467 is the second trial. This is work items to satisfiy comments.
- In the debug statements the __PRETTY_FUNCTION__ is a GCC extension. But this project can run in windows.
- I got it. I removed __PRETTY_FUNCTION__.
- In the PLANTUML_RUN_JAVA_ONCE all the .pu files are given to the plantuml.jar with their full path (see -d extcmd when running). I think this will lead to problems when there are quite a few files ("command line" overflow). Seen this merging the files into one file like done for formulas. A small test with one file revealed that it didn't bring a lot / nothing time wise, but here the problem with the "command line" overflow shouldn't / can't happen.
- Yes. The command line has overflow problem. So I change into one file.
- I think it still would make sense to implement the 'md5' possibility for, especially, the non PLANTUML_RUN_JAVA_ONCE version, i.e. if the file already exists don't try to recreate the image.
- This is a next item.
- PlantumlManager::instance()->insert() : this function will be changed to skip image.
# Configuration
- add configuration value in Doxyfile
- PLANTUML_RUN_JAVA_ONCE = YES
# Debugging
- doxygen -d plantuml
- doxygen -d time -d extcmd
# Tested with following options
- source code of 3 plantuml
- PLANTUML_RUN_JAVA_ONCE = YES or NO
- DOT_IMAGE_FORMAT = png or svg
- DOT_CLEANUP = YES or NO
- -d plantuml
- -d time
- -d extcmd
Diffstat (limited to 'src/searchindex.cpp')
0 files changed, 0 insertions, 0 deletions