git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/2] ci: use cmp and align job-count selection

From
Tamir Duberstein <tamird@gmail.com>
Date
Sep 25, 2026, 16:35 UTC
Message-ID
<20260925-ci-large-test-resources-v2-0-f632cf319756@gmail.com>
In-Reply-To
<20260923-ci-large-test-resources-v1-0-c28416d59475@gmail.com>

The first patch uses cmp for the huge commit-message output comparison. On this input, GNU diffutils 3.8 on Linux arm64 takes 5.276 seconds with 4,199,924 KiB peak RSS for diff, versus 0.506 seconds and 1,264 KiB for cmp. Patch 1 includes the fixture and measurement details.

The second patch aligns GitHub Actions' Make and prove job counts with GitLab CI's CPU-count policy, replacing GitHub's fixed ten jobs.

Signed-off-by: Tamir Duberstein <tamird@gmail.com>
---
Changes in v2:
- Replace the unavailable CI failure reference with comparison runtime
  and peak RSS measurements.
- Drop the file removal; following tests overwrite expect and actual.
- Share job-count selection between GitHub Actions and GitLab CI.
- Use native CPU-count queries on macOS and Windows.
- Link to v1: https://patch.msgid.link/20260923-ci-large-test-resources-v1-0-c28416d59475@gmail.com
---
Tamir Duberstein (2):
      t4205: compare huge output without diff
      ci: align job counts across CI providers
 ci/lib.sh                     | 16 ++++++++++++----
 t/t4205-log-pretty-formats.sh |  2 +-
 2 files changed, 13 insertions(+), 5 deletions(-)
Range-diff versus v1:
1:  5babc36eb5 ! 1:  b48c86e164 t4205: compare huge output without diff
    @@ Metadata
      ## Commit message ##
         t4205: compare huge output without diff
     
    -    The huge-commit test compares two files with a line larger than 2 GiB.
    -    In Linux GitHub Actions jobs, git log produces its huge output but
    -    its subsequent diff process is killed with SIGKILL.
    +    The huge-commit test compares output containing a line larger than 2 GiB.
    +    For two identical files containing 2,147,483,649 "1" bytes followed by
    +    "0\n", GNU diffutils 3.8 on Linux arm64 gives these measurements:
     
    -    Use test_cmp_bin to compare the output byte for byte without constructing
    -    a line-oriented diff. Remove the two large files after a successful
    -    comparison, releasing more than 4 GiB before subsequent tests.
    +      Command               Mean +/- stddev       Maximum RSS (KiB)
    +      diff -u expect actual  5.276 +/- 0.572 s              4199924
    +      cmp expect actual      0.506 +/- 0.099 s                 1264
     
    +    The test needs only an equality check. Use test_cmp_bin, which runs cmp,
    +    to compare the output byte for byte with less time and memory.
    +
    +    Assisted-by: LLM
         Signed-off-by: Tamir Duberstein <tamird@gmail.com>
     
      ## t/t4205-log-pretty-formats.sh ##
    @@ t/t4205-log-pretty-formats.sh: test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'se
      	git log -1 --format="%B%<(1)%x30" $huge_commit >actual &&
      	echo 0 >>expect &&
     -	test_cmp expect actual
    -+	test_cmp_bin expect actual &&
    -+	rm expect actual
    ++	test_cmp_bin expect actual
      '
      
      test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message does not cause allocation failure' '
2:  0836f6b372 < -:  ---------- ci: match Linux jobs to available CPUs
-:  ---------- > 2:  8ec0308f6a ci: align job counts across CI providers

--- base-commit: 3bc0341126508f78f5869cbfc0005e987efdf0c7 change-id: 20260923-ci-large-test-resources-349cdc95f7f8

Previous: Tamir DubersteinNext: Tamir Duberstein
Message 12 of 25 in “ci: reduce pressure from large test fixtures”
  1. 0/2 ci: reduce pressure from large test fixturesTamir Duberstein, Sep 23, 2026
  2. 1/2 t4205: compare huge output without diffTamir Duberstein, Sep 23, 2026
  3. Patrick SteinhardtSep 24, 2026
  4. Tamir DubersteinSep 24, 2026
  5. Jeff KingSep 25, 2026
  6. Junio C HamanoSep 25, 2026
  7. Patrick SteinhardtSep 28, 2026
  8. 2/2 ci: match Linux jobs to available CPUsTamir Duberstein, Sep 23, 2026
  9. Patrick SteinhardtSep 24, 2026
  10. Tamir DubersteinSep 25, 2026
  11. Tamir DubersteinSep 23, 2026
  12. 0/2 ci: use cmp and align job-count selectionTamir Duberstein, Sep 25, 2026
  13. 1/2 t4205: compare huge output without diffTamir Duberstein, Sep 25, 2026
  14. Patrick SteinhardtSep 28, 2026
  15. 2/2 ci: align job counts across CI providersTamir Duberstein, Sep 25, 2026
  16. Patrick SteinhardtSep 28, 2026
  17. Tamir DubersteinSep 28, 2026
  18. Patrick SteinhardtSep 28, 2026
  19. 0/2 ci: use cmp and align job-count selectionTamir Duberstein, Sep 30, 2026
  20. 1/2 t4205: compare huge output without diffTamir Duberstein, Sep 30, 2026
  21. 2/2 ci: use twice the CPU count on both providersTamir Duberstein, Sep 30, 2026
  22. Patrick SteinhardtSep 30, 2026
  23. Patrick SteinhardtSep 30, 2026
  24. Tamir DubersteinSep 30, 2026
  25. Junio C HamanoSep 30, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.