Re: [PATCH 2/2] Cached the git configuration, which is now noticibly faster on windows.
- From
- Arafangion <thestar@fussycoder.id.au>
- Date
- Nov 8, 2008, 06:52 UTC
- Message-ID
- <1226127130.8252.6.camel@therock.nsw.bigpond.net.au>
- In-Reply-To
- <ee77f5c20811072119y65738f54o7e6792fb405c142c@mail.gmail.com>
On Fri, 2008-11-07 at 21:19 -0800, David Symonds wrote: <snip>
Show 6 quoted lines
> _gitConfig = None
> def gitConfig(key):
> if _gitConfig is None:
> lines = read_pipe("git config -l", ignore_error=True).readlines():
> _gitConfig = dict([l.strip().split('=', 1) for l in lines])
> return _gitConfig.get(key, None)That certainly is better, if one can assume that git's configuration is small. (And relative to the memory usage of the script, it will definetly be small).
I shall give that a go, although the change won't make it even faster - I suspect that much of the performance penalty in windows is the pathetic fork() performance, particularly as the memory usage of the script increases. (If subprocess does fork() and exec() in order to open another process, in cygwin).
Thankyou.