It isn't possible to run anything in the background in Emacs. Semantic
does it's best to parse files and such during idle time, but that is a
bit different. If you ask for a completion, the assumption is you want
the right answer right now. Not much to do about that but resolve
For your purposes, the attached patch might help, though I don't know if
it will be enough.
In this patch, if you promise to only edit your files in Emacs, and not
use some other program to change them, then Emacs can skip checking all
that stuff David was talking about in his email.
You will also need to set the ede inode tracking off to disable the
other place where file attributes are accessed frequently. File attribs
will still be checked during cache writes and a few other cases, but
that is during idle time.
If you set the new variable in the patch to t and make the promise, but
things are still slow, then the time is probably off doing file name and
path lookups. That will require serious infrastructure to build up an
internal cache of file names to check for this purpose, and that would
be better suited to a tramp feature.
On 01/17/2013 05:56 PM, Rodrigo Amestica wrote:
> At Thu, 17 Jan 2013 22:12:50 +0100,
> David Engster wrote:
>> Rodrigo Amestica writes:
>>> #1 above seems to be normal, probably unavoidable. But what's the
>>> actual reason for cedet to access those directories before being
>>> actually used for anything?
>>> #2 is a bit of a mystery. Why is that the semantic's cache (which
>>> is locally stored in my laptop) does not help on every emacs restart?
>> I once tried to use CEDET via Tramp, and yes: it is slow. The main
>> reason is latency. While CEDET will work with the local cache, it still
>> has to check if the cache is still valid, and it does so by checking the
>> files' timestamps. Since you have to check all the dependencies of a
>> single file, this can easily amount to a *lot* of checks.
> wouldn't be there a way to send #1 and #2 to background? such that
> emacs startup should look just normal and only if I try to
> autocomplete before they are done then I would need to wait for long
> many thanks,
>> To speed things up, you should make sure that you're working over a
>> permanent connection. That means if you're using ssh, you should create
>> a master connection which can be shared (see '-M' option). Still, don't
>> expect too much. It is nifty that it actually works, but for larger
>> projects, it is just not feasible.
>> Simply the Best Information on Cheap Here!
> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
> MVPs and experts. ON SALE this month only -- learn more at:
> cedet-semantic mailing list