IWikiSyntaxProvider with doxygen SEARCH_ENGINE unusable slow for large code-bases
|Reported by:||mgerth@…||Owned by:||cboos|
- search engine is enabled in doxygen
- the doxygen-html-code base is large
- a simple WIKI-page is loaded by the user
the WIKI-Syntax-provider of the DoxygenPlugin stalls the whole server for up to 5 seconds with 100% CPU usage when loading any simple wiki-page.
my current workaround (with lost functionality) is:
_doxygen_lookup(self, segments): ... # Request for a named object # TODO: # - do something about dirs # - expand with enum, defs, etc. # - this doesn't work well with the CREATE_SUBDIRS Doxygen option path, link = lookup('class%s.html' % file, 'class') if not path: path, link = lookup('struct%s.html' % file, 'struct') if path: return 'view', path, link # Revert to search >>>>>>> return ('search', None, None) # bail out for performance issues <<<<<<<<<< results = self._search_in_documentation(doc, [file]) << this is never called now and he rest of this function can not be used at the moment in our case
It would be nice to have a trac.ini - configuration option to disable the last branch, instead of hard-coding the return. I think optimizing the search_in_documentation function would take more time, and it is not needed that much.