Opened 7 years ago

Last modified 7 years ago

#3003 new enhancement

IWikiSyntaxProvider with doxygen SEARCH_ENGINE unusable slow for large code-bases

Reported by: mgerth@… Owned by: cboos
Priority: normal Component: DoxygenPlugin
Severity: minor Keywords:
Cc: Trac Release: 0.11



  1. search engine is enabled in doxygen
  2. the doxygen-html-code base is large
  3. 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.

Best Regards

Attachments (0)

Change History (1)

comment:1 Changed 7 years ago by Blackhex

  • Owner changed from Blackhex to cboos

Sorry for delay, I wasn't notified about this...

Add Comment

Modify Ticket

as new The owner will remain cboos.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.