Opened 9 years ago

Closed 9 months ago

Last modified 9 months ago

#3003 closed enhancement (fixed)

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 (3)

comment:1 Changed 8 years ago by Blackhex

  • Owner changed from Blackhex to cboos

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

comment:2 Changed 9 months ago by Committo-Ergo-Sum

  • Resolution set to fixed
  • Status changed from new to closed

Performance issues seem to be solved in version > 0.11.

comment:3 Changed 9 months ago by cboos

That's great news, I'll try to find some time to test all your enhancements.

Add Comment

Modify Ticket

as closed The owner will remain cboos.
The resolution will be deleted. Next status will be 'reopened'.

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

Note: See TracTickets for help on using tickets.