On 5/1/2019 10:58 AM, Ævar Arnfjörð Bjarmason wrote: > > On Wed, May 01 2019, Derrick Stolee via GitGitGadget wrote: > >> The commit-graph feature began with a long list of planned >> benefits, most of which are now complete. The future work >> section has only a few items left. >> >> As for making more algorithms aware of generation numbers, >> some are only waiting for generation number v2 to ensure the >> performance matches the existing behavior using commit date. >> >> It is unlikely that we will ever send a commit-graph file >> as part of the protocol, since we would need to verify the >> data, and that is as expensive as writing a commit-graph from >> scratch. If we want to start trusting remote content, then >> that item can be investigated again. > > My best of 3 times for "write" followed by "verify" on linux.git are > 8.7/7.9 real/user for "write" and 5.2/4.9 real/user for "write". > > So that's a reduction of ~40%. I have another big in-house repo where I > get similar numbers of 17/16 for "write" and 10/9 for "verify". Both for > a commit-graph file on the order of 50MB where it would be quicker for > me to download and verify it if the protocol supported it. Keep in mind that your first "write" may have warmed up the file system and your pack-files parsed faster the second time around. You are right though, 'verify' doesn't do these things: 1. Sort a list of OIDs. 2. Write a file. And perhaps some other things. I should mean that "the main task of 'git commit-graph verify' is to parse commits from the object store, and this is the most expensive operation in 'git commit-graph write'." Thanks, -Stolee