I use CEDET (latest CVS) with several moderately large projects (a few hundred kLOCs each, mostly C, but some C++) and sometimes experience long pauses in which the system is completely unresponsive for seconds. More rarely, it spins out of control completely and I have to mash on C-g
and try to move the cursor or switch to a different buffer to get control back.
I use GNU Global to create tags for the projects I work with, but this is still sometimes slow, especially for semantic-symref-symbol
, and some jumps that seem to require parsing lots of headers and source files. In some cases semantic-ia-fast-jump
errors with the message semantic-ia--fast-jump-helper: Tag SomeFunction has no buffer information
even though gtags-find-tag
finds it immediately (in the same project), though perhaps at an out-of-date location; this may be a temporary bug, usually semantic-ia-fast-jump
is reliable.
I would appreciate any suggestions on how to
- Throttle CEDET without losing all the semantic analysis.
- Find out what caused CEDET to spin out of control so I can fix my project definitions or file a bug report.
- Determine why some semantic analysis is failing.
- Get semantic to cache more information to make it more responsive, I have lots of memory that I'd like to use.
- Manage GNU Global (create and keep current) for multiple projects in different places, including system directories.
- Manage dependencies between projects that I have configured with
ede-cpp-root-project
. - Manage projects that have multiple build configurations, each with its own "config.h" and build directory.
There are a few tips in the article http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html, I'm looking for anything beyond that article.