[cedet-semantic] semantic-ia-fast-jump poor performance in C++ project
Brought to you by:
zappo
From: Barry O. <gun...@gm...> - 2013-03-18 19:58:59
|
Hi, I'm setting CEDET up for a C++ project using the cedet_snapshot-rev_8498.tar.gz, following Alex Ott's guide. I think I have everything initialized correctly, but find that the performance of semantic-ia-fast-jump is quite poor. The first tag I tried out takes 45 seconds to jump to a struct declaration. If I restart Emacs and try the same thing, it takes 45 seconds again. I looked in semanticdb directory and I see a !semantic.cache file with information about the struct. But yet it doesn't help the performance for the second attempt. I pass one path for system-include-path to ede-cpp-root-project : Boost 1.48 headers. If I remove that the performance goes down to 15 seconds. I big a improvement but still slower than I'd hope for. To give an idea of the size of this C++ project: • The .cc file I executed semantic-ia-semantic-jump in ncludes 63 non Boost headers (as its auto dependency file indicates). • I pass a list to ede-cpp-root-project of all the include directories in the project source tree, totaling 420. Is there a way I can build up the semantic information in advance, even if it's an overnight job? That way the parsed information is ready when I need it. Alex Ott's guide mentions using semanticdb-create-ebrowse-database or semanticdb-create-cscope-database. How do I decide between these two; what are their pros and cons? A web search on the topic only adds to my confusion, as apparently there is GNU Globals and other tagging systems that integrate with Semantic. What other options might improve performance? It would be nice if I could incorporate Boost headers too. Thanks for your help. |