I checked in a nice speed boost for smart completion today. First,
there is a new file semantic-elp.el, which is an interface between
semantic and elp (elisp profiler). I used it to discover some serious
speed issues w/ CEDET. I ran it against some code at work. This
would be the code I occasionally mention I can't use semantic with for
Lets look at a subset of some of the original numbers from the output
If we take the big hitters, the numbers are:
5.0 sec (include path)
409 sec (typcache build)
.3 sec (calc scope)
67 sec (calc context)
.05 sec (do completions)
Total: about 481.3 sec, or 8 minutes.
Now lets look at after an optimization to the typecache.
6 sec (include path)
.09 sec (typecache)
.2 sec (scope)
65 sec (analyze)
.0003 sec (completion)
71.2 sec, or 1.18 min
That's over 7 minutes faster! Wow!
Just as a note: This is test run is for the FIRST RUN, when semantic
is still bootstrapping the various caches. After things are cached,
the first 3 numbers in the two above tables are effectively 0.
The profiler is showing off some stuff in the analyzer that might
lead to more optimizations. Things are looking up!
The above changes are in CVS now.
Eric Ludlam: eric@...
Siege: http://www.siege-engine.com Emacs: http://cedet.sourceforge.net