Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Performance on repositories with many commits is limited somewhat by repeatedly stating the tablestore directory to work out what the head is. By caching the table rather than looking it up from disk on every request, we can much more rapidly satisfy requests. This avoids the pathological case in #845 where jj operations take several minutes to complete. This patch doesn't change the normal flow of the write path: that will still always call get_head() on the underlying TableStore, which will stat the directory before writing out changes. It will however empty the cache when the metadata has been written. Fixes #845.
- Loading branch information