|
From: | Dmitry Gutov |
Subject: | bug#11757: Acknowledgement (24.1.50; vc-git calls `process-file' too many times) |
Date: | Fri, 06 Jul 2012 19:55:54 +0400 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1 |
On 06.07.2012 17:44, Michael Albinus wrote:
Dmitry Gutov <dgutov@yandex.ru> writes:If we assume that there are no dangerous vc commands outside Emacs, we wouldn't have a problem.In this case, the behavior of the first patch I posted here should be acceptable, right? It's simpler, has pretty much the same effect, and should be a tiny bit faster.That I don't know. Both patches do almost what we expect, and having a cached value for `vc-registered' sounds more performant when applied often enough.
With the attached patch, `vc-git-registered' is usually called only once during the lifetime of a buffer.
For caching to be an improvement, 'git-registered value has to be invalidated separately from 'vc-backend, yet less often than `vc-git-state' is called.
Yes. I don't know, whether we will be able to handle any surprise when using caches. There will always be a scenario which lets fail a given algorithm. I fear.Sure, but I'm just asking for one scenario that works better with explicitly caching 'git-registered, instead of not calling it in vc-git-state'. If `vc-git-state' doesn't call `vc-git-registered' (just assumes it's t), then `vc-registered' is the latter's only client, and so its return value is implicitly cached in 'vc-backend property.Maybe. Could you show a patch? (Please with ChangeLog entry, I would commit if it looks good).
* vc-git.el (vc-git-state): Don't call `vc-git-registered', assume it's always t.
(vc-git-registered): Remove caching, the function is only called once. Thank you, --Dmitry
vc-git-registered.diff
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |