sapling/remotefilelog
Durham Goode 17c16cf610 Optimize pullprefetch to limit number of stats
Summary:
Previously, if pullprefetch was set, we'd perform a prefetch of the
entire manifest of the specified revs (usually the public bookmarks). This
involved stat-ing all the relevant files in the cache to see if they already
existed, which added an extra 6 seconds or so to every pull.

Now we only prefetch the files that are different from our working copy. We
assume we already have all the files that are in our working copy. This reduces
the pullprefetch overhead significantly.

Test Plan:
Did a pull on my laptop. Verified it didn't hang for 6 seconds at the
prefetch stage. Also updated a test

Reviewers: davidsp, pyd, sid0

Reviewed By: sid0

Differential Revision: https://phabricator.fb.com/D1505841

Tasks: 4608894
2014-08-19 09:33:31 -07:00
..
__init__.py Optimize pullprefetch to limit number of stats 2014-08-19 09:33:31 -07:00
cacheclient.py Add example cache client implementation 2013-10-17 14:18:23 -07:00
debugcommands.py Fix debugremotefilelog command 2013-12-13 11:42:50 -08:00
fileserverclient.py Expand environment variables in cacheprocess and cachepath 2014-05-21 12:28:03 -07:00
remotefilectx.py Move fileservice to be per repo instead of global 2014-02-11 14:41:56 -08:00
remotefilelog.py Move local cache logic into it's own class 2014-02-11 16:25:55 -08:00
remotefilelogserver.py Allow readonly access to remotefilelog cache 2014-01-27 17:09:48 -08:00
shallowbundle.py Fix shallowbundle.getbundle for local non-remotefilelog repositories 2014-05-20 20:56:19 -07:00
shallowrepo.py Optimize pullprefetch to limit number of stats 2014-08-19 09:33:31 -07:00
shallowstore.py Add more comments explaining various complexities 2013-11-05 17:19:59 -08:00