sapling/eden/fs
Adam Simpkins 4d60f09c1c speed up importing manifest data from mercurial
Summary:
It turns out that the manifest class provides an iterentries() method to
iterate through the (path, hash, flags) values.  Update the code to use this
rather than iterating through the paths and then having to look up the hash and
flags using the path.

This dramatically speeds up importing a commit with 1M files: the import time
drops from around 8 seconds to under 1.5 seconds.  (Of the 1.5 seconds, about
half is spent reading the manifest data, and half is spent formatting and
writing the chunks.)

Reviewed By: wez

Differential Revision: D4512538

fbshipit-source-id: ccfff162082d327d525224b2d7dc87f67bda5e22
2017-02-06 12:28:05 -08:00
..
cli allow interpolating USER and HOME in the ClientConfig class 2017-01-23 23:54:38 -08:00
config allow interpolating USER and HOME in the ClientConfig class 2017-01-23 23:54:38 -08:00
inodes always load affected inodes in rename(), and update lock ordering 2017-02-03 18:35:03 -08:00
journal update all copyright statements to "2016-present" 2017-01-20 22:03:02 -08:00
model fix a variety of lint issues 2017-01-23 18:03:09 -08:00
rocksdb update all copyright statements to "2016-present" 2017-01-20 22:03:02 -08:00
service do not hold tree locks recursively in getMaterializedEntriesRecursive() 2017-01-27 16:47:57 -08:00
store speed up importing manifest data from mercurial 2017-02-06 12:28:05 -08:00
testharness always load affected inodes in rename(), and update lock ordering 2017-02-03 18:35:03 -08:00