Re: [PATCH v2] rev-list --disk-usage
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Feb 10, 2021, 01:49 UTC
- Message-ID
- <YCM7t3buBR6sL/lh@nand.local>
- In-Reply-To
- <xmqqh7mkycno.fsf@gitster.c.googlers.com>
On Tue, Feb 09, 2021 at 04:44:27PM -0800, Junio C Hamano wrote:
Show 11 quoted lines
> Jeff King <peff@peff.net> writes: > > > Here's a re-roll of my series to add "rev-list --disk-usage", for > > counting up object storage used for various slices of history. > > ... > > t/t6114-rev-list-du.sh | 51 +++++++++++++++++++ > > t/test-lib-functions.sh | 9 +++- > > 7 files changed, 199 insertions(+), 8 deletions(-) > > create mode 100755 t/t6114-rev-list-du.sh > > I relocated 6114 to 6115 to avoid tests sharing the same number.
Thanks.
Show 15 quoted lines
> I am getting these numbers from random ranges I am interested in, > but do they say what I think they mean? Was the development effort > went into the v2.28 release almost half the size of v2.29, and have > we already done about the same amont of work for this cycle? > > : gitster git.git/seen; rungit seen rev-list --disk-usage master..next > 83105 > : gitster git.git/seen; rungit seen rev-list --disk-usage v2.30.0..master > 183463 > : gitster git.git/seen; rungit seen rev-list --disk-usage v2.29.0..v2.30.0 > 231640 > : gitster git.git/seen; rungit seen rev-list --disk-usage v2.28.0..v2.29.0 > 334355 > : gitster git.git/seen; rungit seen rev-list --disk-usage v2.27.0..v2.28.0 > 182298
I think you are surprised by these numbers because you're only counting disk usage of commit objects in those ranges. v1 of this series implied --objects by default, but this changed in v2 due to my suggestion.
Passing --objects to count the disk-usage of all objects in those ranges gives more reasonable numbers (and match my rough guesses, i.e., that 2.29 was busier than 2.30, and so on):
$ for range in origin/master..origin/next v2.30.0..origin/master \
v2.29.0..v2.30.0 v2.28.0..v2.29.0 v2.27.0..v2.28.0
do
printf "%s %d vs. %d\n" $range \
"$(git rev-list --objects --no-object-names $range |
git cat-file --batch-check='%(objectsize:disk)' |
paste -sd+ | bc)" \
"$(git.seen rev-list --objects --disk-usage $range)"
done
origin/master..origin/next 671380 vs. 671380
v2.30.0..origin/master 1618815 vs. 1618815
v2.29.0..v2.30.0 3308295 vs. 3308295
v2.28.0..v2.29.0 4080789 vs. 4080789
v2.27.0..v2.28.0 2846196 vs. 2846196Thanks, Taylor