mbox series

[0/3] Performance improvements for repacking non-promisor objects

Message ID cover.1733170252.git.jonathantanmy@google.com (mailing list archive)
Headers show
Series Performance improvements for repacking non-promisor objects | expand

Message

Jonathan Tan Dec. 2, 2024, 8:18 p.m. UTC
This is a follow-up to jt/repack-local-promisor [1] (but these patches
are based on master, since that branch has already been merged).

These patches speed up a fetch that takes 7 hours to take under 3
minutes. More details are in the commit messages, especially that of
patch 1.

Thanks in advance to everyone who reviews. While review is going on,
we'll also be testing these at $DAYJOB (I've tested it to work on one
known big repo, but there may be others).

[1] https://lore.kernel.org/git/cover.1730491845.git.jonathantanmy@google.com/

Jonathan Tan (3):
  index-pack: dedup first during outgoing link check
  index-pack: no blobs during outgoing link check
  index-pack: commit tree during outgoing link check

 builtin/index-pack.c | 49 +++++++++++++++++++++++---------------------
 1 file changed, 26 insertions(+), 23 deletions(-)

Comments

Josh Steadmon Dec. 2, 2024, 9:25 p.m. UTC | #1
On 2024.12.02 12:18, Jonathan Tan wrote:
> This is a follow-up to jt/repack-local-promisor [1] (but these patches
> are based on master, since that branch has already been merged).
> 
> These patches speed up a fetch that takes 7 hours to take under 3
> minutes. More details are in the commit messages, especially that of
> patch 1.
> 
> Thanks in advance to everyone who reviews. While review is going on,
> we'll also be testing these at $DAYJOB (I've tested it to work on one
> known big repo, but there may be others).
> 
> [1] https://lore.kernel.org/git/cover.1730491845.git.jonathantanmy@google.com/
> 
> Jonathan Tan (3):
>   index-pack: dedup first during outgoing link check
>   index-pack: no blobs during outgoing link check
>   index-pack: commit tree during outgoing link check
> 
>  builtin/index-pack.c | 49 +++++++++++++++++++++++---------------------
>  1 file changed, 26 insertions(+), 23 deletions(-)
> 
> -- 
> 2.47.0.338.g60cca15819-goog
> 
> 

This series looks good to me, thanks!

Reviewed-by: Josh Steadmon <steadmon@google.com>
Junio C Hamano Dec. 3, 2024, 4:09 a.m. UTC | #2
Josh Steadmon <steadmon@google.com> writes:

>> Thanks in advance to everyone who reviews. While review is going on,
>> we'll also be testing these at $DAYJOB (I've tested it to work on one
>> known big repo, but there may be others).
>> 
>> [1] https://lore.kernel.org/git/cover.1730491845.git.jonathantanmy@google.com/
>> 
>> Jonathan Tan (3):
>>   index-pack: dedup first during outgoing link check
>>   index-pack: no blobs during outgoing link check
>>   index-pack: commit tree during outgoing link check
>> 
>>  builtin/index-pack.c | 49 +++++++++++++++++++++++---------------------
>>  1 file changed, 26 insertions(+), 23 deletions(-)
>> 
>> -- 
>> 2.47.0.338.g60cca15819-goog
>> 
>> 
>
> This series looks good to me, thanks!
>
> Reviewed-by: Josh Steadmon <steadmon@google.com>

Thanks.
Junio C Hamano Dec. 3, 2024, 4:18 a.m. UTC | #3
Jonathan Tan <jonathantanmy@google.com> writes:

> This is a follow-up to jt/repack-local-promisor [1] (but these patches
> are based on master, since that branch has already been merged).
>
> These patches speed up a fetch that takes 7 hours to take under 3
> minutes. More details are in the commit messages, especially that of
> patch 1.
>
> Thanks in advance to everyone who reviews. While review is going on,
> we'll also be testing these at $DAYJOB (I've tested it to work on one
> known big repo, but there may be others).
>
> [1] https://lore.kernel.org/git/cover.1730491845.git.jonathantanmy@google.com/
>
> Jonathan Tan (3):
>   index-pack: dedup first during outgoing link check
>   index-pack: no blobs during outgoing link check
>   index-pack: commit tree during outgoing link check
>
>  builtin/index-pack.c | 49 +++++++++++++++++++++++---------------------
>  1 file changed, 26 insertions(+), 23 deletions(-)

When merged to 'seen', this seems to break quite a many tests, all
related to "pack".

I haven't tried running tests on the topic stand-alone.

Test Summary Report
-------------------
t5310-pack-bitmaps.sh                            (Wstat: 256 (exited 1) Tests: 230 Failed: 3)
  Failed tests:  26, 100, 179
  Non-zero exit status: 1
t5327-multi-pack-bitmaps-rev.sh                  (Wstat: 256 (exited 1) Tests: 314 Failed: 6)
  Failed tests:  25, 70, 136, 182, 227, 293
  Non-zero exit status: 1
t5616-partial-clone.sh                           (Wstat: 256 (exited 1) Tests: 47 Failed: 3)
  Failed tests:  5, 38-39
  Non-zero exit status: 1
t5326-multi-pack-bitmaps.sh                      (Wstat: 256 (exited 1) Tests: 357 Failed: 6)
  Failed tests:  25, 70, 146, 199, 244, 320
  Non-zero exit status: 1
t0410-partial-clone.sh                           (Wstat: 256 (exited 1) Tests: 38 Failed: 4)
  Failed tests:  11, 14-15, 38
  Non-zero exit status: 1
t6020-bundle-misc.sh                             (Wstat: 256 (exited 1) Tests: 30 Failed: 4)
  Failed tests:  16-19
  Non-zero exit status: 1
t9211-scalar-clone.sh                            (Wstat: 256 (exited 1) Tests: 13 Failed: 2)
  Failed tests:  4-5
  Non-zero exit status: 1
Files=1031, Tests=31721, 324 wallclock secs (11.58 usr  4.57 sys + 674.15 cusr 6136.28 csys = 6826.58 CPU)
Result: FAIL
g
Junio C Hamano Dec. 3, 2024, 4:20 a.m. UTC | #4
Junio C Hamano <gitster@pobox.com> writes:

> When merged to 'seen', this seems to break quite a many tests, all
> related to "pack".
>
> I haven't tried running tests on the topic stand-alone.

Ah, sorry for a false alarm.  The breakage may be coming from some
other topic.  Haven't figured out which one yet.
Junio C Hamano Dec. 3, 2024, 4:39 a.m. UTC | #5
Junio C Hamano <gitster@pobox.com> writes:

> Junio C Hamano <gitster@pobox.com> writes:
>
>> When merged to 'seen', this seems to break quite a many tests, all
>> related to "pack".
>>
>> I haven't tried running tests on the topic stand-alone.
>
> Ah, sorry for a false alarm.  The breakage may be coming from some
> other topic.  Haven't figured out which one yet.

Sorry for a double false alarm.  The breakages are due to this
topic.  These do not break without this topic in 'seen', and do
break with this topic in 'seen'.