On Wed, Jan 27, 2021 at 5:20 PM Jeff King <peff@xxxxxxxx> wrote: > This patch implements a --disk-usage option which produces the same > answer in a fraction of the time. Here are some timings using a clone of > torvalds/linux: > > [rev-list piped to cat-file, no bitmaps] > $ time git rev-list --objects --all | > cut -d' ' -f1 | > git cat-file --buffer --batch-check='%(objectsize:disk)' | > perl -lne '$total += $_; END { print $total }' > 1455691059 > real 0m34.336s > user 0m46.533s > sys 0m2.953s This example shows the computed size (1455691059)... > But the real win is with bitmaps. If we use them without the new option: > > [rev-list piped to cat-file, bitmaps] > $ time git rev-list --objects --all --use-bitmap-index | > cut -d' ' -f1 | > git cat-file --batch-check='%(objectsize:disk)' | > perl -lne '$total += $_; END { print $total }' > real 0m9.954s > user 0m11.234s > sys 0m8.522s ...however, this example does not (but all the others do). Simple copy/paste error? Not worth a re-roll, of course.