Re: Git-status / preload_index() performance
- From
Karsten Blees <karsten.blees@gmail.com>
- Date
- Jun 24, 2014, 23:25 UTC
- Message-ID
- <53AA08D1.5080205@gmail.com>
- In-Reply-To
- <1403651538.22828.4.camel@stross>
Am 25.06.2014 01:12, schrieb David Turner:
Show 9 quoted lines
> On Wed, 2014-06-25 at 00:52 +0200, Karsten Blees wrote: >> Even more time is spent unpacking the HEAD tree, even with hot cache (repacking with depth 10 reduces this to ~250ms, on SSD its just 7ms). Perhaps caching the HEAD tree in an index extension could help here? > > This is approximately what the cache-tree extension does. However, it's > a bit broken. I've been working on a fix, but slowly because my other > work has taken me longer than expected. You can see the effect of the > cache-tree extension by doing git reset --hard HEAD; this temporarily > restores that extension. >
Indeed:
01:32:35.965910 builtin/commit.c:1374 performance: 0.097505786 s: cmd_status:setup ... 01:32:36.047534 preload-index.c:129 performance: 0.081458337 s: read_index_preload 01:32:36.056204 read-cache.c:1226 performance: 0.008641527 s: refresh_index 01:32:36.059237 builtin/commit.c:1385 performance: 0.002997060 s: cmd_status:update_index 01:32:36.065163 wt-status.c:630 performance: 0.005732979 s: wt_status_collect_changes_worktree 01:32:36.072078 wt-status.c:638 performance: 0.006832976 s: wt_status_collect_changes_index 01:32:36.072150 wt-status.c:643 performance: 0.000000374 s: wt_status_collect_untracked 01:32:36.072211 trace.c:414 performance: 0.204069579 s: git command: 'git' 'status' '-s' '-uno'
Thanks