Message ID | cover.1597093021.git.matheus.bernardino@usp.br (mailing list archive) |
---|---|
Headers | show |
Series | Parallel checkout | expand |
On 8/10/20 5:33 PM, Matheus Tavares wrote: > This series adds parallel workers to the checkout machinery. The cache > entries are distributed among helper processes which are responsible for > reading, filtering and writing the blobs to the working tree. This > should benefit all commands that call unpack_trees() or check_updates(), > such as: checkout, clone, sparse-checkout, checkout-index, etc. > > This proposal is based on two previous ones, by Duy [1] and Jeff [2]. It > uses some of the patches from these two series, with additional changes. > The final parallel version was benchmarked during three operations with > cold cache in the linux repo: cloning v5.8, checking out v5.8 from > v2.6.15 and checking out v5.8 from v5.7. The three tables below show the > mean run times and standard deviations for 5 runs in: a local file > system, a Linux NFS server and Amazon EFS. The number of workers was > chosen based on what produces the best result for each case. > > ... > > The first 4 patches come from [2]. I couldn't get in touch with Jeff yet > and ask for his approval on then, so I didn't include his Signed-off-by, > for the time being. This looks like an interesting mixture of our efforts. Thanks for picking it up. I got re-tasked earlier this summer and had to put it on hold. I've given it a quick read and like the overall shape. I still need to give it an in-depth review and run some perf tests on Windows and on the gigantic Windows and Office repos. Please feel free to add my sign-off to those commits. > ... Jeff
On 8/10/20 5:33 PM, Matheus Tavares wrote: > This series adds parallel workers to the checkout machinery. The cache > entries are distributed among helper processes which are responsible for > reading, filtering and writing the blobs to the working tree. This > should benefit all commands that call unpack_trees() or check_updates(), > such as: checkout, clone, sparse-checkout, checkout-index, etc. This series looks very good! Thanks for your attention to detail. Jeff