Subject: Re: [PATCH 0/7] Sparse index: integrate with 'git stash'

From: Derrick Stolee <[email-masked]>
Date: Tue, 26 Apr 2022 08:49:28 -0400

On 4/25/2022 1:49 PM, Victoria Dye via GitGitGadget wrote:
> This series, in combination with the sparse index integrations of reset [1],
> update-index [2], checkout-index [2], clean [2], and read-tree [3], allows
> most subcommands of 'git stash' to use the sparse index end-to-end without
> index expansion.

I'm really excited to see this culmination of your work in this area!

> Performance results (from the 'p2000' tests):
> 
> (git stash &&
>  git stash pop)              master            this series
> ---------------------------------------------------------------------
> full-v3                      4.07(2.42+1.34)   3.98(2.42+1.32) -2.2%
> full-v4                      4.05(2.46+1.31)   4.00(2.49+1.29) -1.2%
> sparse-v3                    7.48(4.81+2.57)   1.53(0.26+1.61) -79.5%
> sparse-v4                    7.35(4.74+2.54)   1.59(0.27+1.63) -78.4%
> 
> (echo >>new &&
>  git stash -u &&
>  git stash pop)              master            this series
> ---------------------------------------------------------------------
> full-v3                      4.21(2.62+1.45)   4.11(2.55+1.44) -2.4%
> full-v4                      4.11(2.51+1.41)   4.02(2.49+1.41) -2.2%
> sparse-v3                    7.35(4.64+2.66)   1.70(0.32+1.64) -76.9%
> sparse-v4                    7.74(4.87+2.83)   1.70(0.32+1.66) -78.0%

I wanted to add some performance results from real-world users of
an internal monorepo. These are numbers for all runs of "git stash",
so it is not broken down by subcommand:

Index Type         P50     P80     P99
---------------------------------------
Full Index       13.3s   26.3s   47.5s
Sparse Index      2.1s    5.8s    9.4s

Thanks,
-Stolee