On 16/05/2025 14:28, Derrick Stolee wrote:
On 5/14/25 11:16 AM, Phillip Wood wrote:
This made me wonder about the other commands that take "--patch" like
checkout and reset. Do you know how well they handle the sparse index?
They'll all benefit from the changes to git apply in this series but I
was wondering if they need any further changes.
By adding these two tests...
test_perf_on_all 'test_write_lines y y y | git checkout --patch -'
test_perf_on_all 'echo >>a && git add a && test_write_lines y | git
reset --patch'
...we can demonstrate that the changes to 'git apply' are sufficient
to get the improvements we seek for 'git checkout --patch':
Test HEAD~3 HEAD~2
---------------------------------------------------------------
... git checkout --patch - (full-v3) 1.22 1.22 +0.0%
... git checkout --patch - (full-v4) 1.15 1.16 +0.9%
... git checkout --patch - (sparse-v3) 1.37 0.11 -92.0%
... git checkout --patch - (sparse-v4) 1.37 0.11 -92.0%
... git reset --patch (full-v3) 0.82 0.81 -1.2%
... git reset --patch (full-v4) 0.76 0.77 +1.3%
... git reset --patch (sparse-v3) 1.57 0.91 -42.0%
... git reset --patch (sparse-v4) 1.59 0.92 -42.1%
But 'git reset --patch' appears to not be fast _enough_. It turns
out that it has the same issue as cmd_add(). I'll add a patch for
this purpose.
That's great, I don't have anymore comments on v2 of this series.
Thanks
Phillip