Re: Iterative visiting of all source files
RJD <[email protected]> Thu, 9 Apr 2015 13:37:57 +0000 (UTC)
| Newsgroups | gmane.emacs.semantic |
|---|---|
| Message-ID | <[email protected]> |
Eric Ludlam <eric <at> siege-engine.com> writes: > I spend many days profiling and tweaking this process. I'm not sure > what is left to tweak out of that code. Without the typecache, all > completions are quite slow. > > Enjoy! > Eric > > So when I run said function I get something like this: ]#<semanticdb-typecache someLocation/to/someFile.cpp> ] Name: "someLocation/to/someFile.cpp" ] Class: #'semanticdb-typecache ] filestream : nil ] includestream #<TAG LIST: 717 entries> ] stream : nil ] dependants #<list o' stuff: 1 entries> I guess I am just in conflict with how semantic deals with things. I strongly believe the WHOLE dbcache should be loaded into memory right at the beginning. I do not know if this has anything to do with me not using EDE - but I would like a function which I would run in my own adhoc hooks to load the relevant dbcaches into memory. Here are the semantic cache files (take for example a big project like /some/place/to/trunk_source/ which has further subsystem directories like SubDir0 etc) 1092256 Apr 1 19:35 !some!location!SubDir0!semantic.cache 1998193 Apr 9 14:20 !some!location!SubDir1!semantic.cache 57776 Feb 13 11:54 !some!location!SubDir2!Sender!semantic.cache 743628 Mar 20 16:14 !some!location!SubDir3!Shared!semantic.cache 861203 Apr 9 14:23 !some!location!SubDir4!semantic.cache 118682 Feb 17 18:24 !some!location!SubDir5!semantic.cache 150808 Mar 11 16:39 !some!location!SubDir6!semantic.cache 1057422 Mar 20 16:14 !some!location!SubDir7!semantic.cache 51184 Mar 11 16:05 !some!location!SubDir8!SubSubDir0!semantic.cache 51126 Feb 16 17:40 !some!location!SubDir9!SubSubDir1!semantic.cache 24280 Feb 16 17:40 !some!location!SubDirA!SubSubDir2!semantic.cache 158025 Mar 11 17:12 !some!location!SubDirB!semantic.cache 727442 Apr 1 17:34 !some!location!SubDirC!semantic.cache 336992 Apr 9 14:14 !some!location!SubDirD!semantic.cache I think this is the way intellisense works - you load a project and in the background it just loads all the intellisense stuff. If there was a function in semantic that I could use to tell CEDET to loads the specified dbs into memory ( all at once - straight away - on a hook) then it surely it would be faster? It would be even faster if Emacs managed to use all the cores on my machine but it only ever uses 1. --- As I type all of this I read previous posts where I have basically said the same thing and you have told me that semantic does store the DB in memory. I cannot understand what takes so long then. How does Microsoft manage it so quickly? How would I profile, Eric? I need to be careful with proprietary code. Thanks. ------------------------------------------------------------------------------ BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT Develop your own process in accordance with the BPMN 2 standard Learn Process modeling best practices with Bonita BPM through live exercises http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF