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

Re: [RFC][PATCH v1] write-tree: integrate with sparse index

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 3, 2023, 20:58 UTC
Message-ID
<xmqqilec4ra0.fsf@gitster.g>
In-Reply-To
<20230402000117.313171-1-cheskaqiqi@gmail.com>
Shuqi Liang <cheskaqiqi@gmail.com> writes:
Show 24 quoted lines
> Update 'git write-tree' to allow using the sparse-index in memory
> without expanding to a full one.
>
> The recursive algorithm for update_one() was already updated in 2de37c5
> (cache-tree: integrate with sparse directory entries, 2021-03-03) to
> handle sparse directory entries in the index. Hence we can just set the
> requires-full-index to false for "write-tree".
>
> The `p2000` tests demonstrate a ~96% execution time reduction for 'git
> write-tree' using a sparse index:
>
> Test                                           before  after
> -----------------------------------------------------------------
> 2000.78: git write-tree (full-v3)              0.34    0.33 -2.9%
> 2000.79: git write-tree (full-v4)              0.32    0.30 -6.3%
> 2000.80: git write-tree (sparse-v3)            0.47    0.02 -95.8%
> 2000.81: git write-tree (sparse-v4)            0.45    0.02 -95.6%
>
> Signed-off-by: Shuqi Liang <cheskaqiqi@gmail.com>
> ---
>  builtin/write-tree.c                     |  4 ++++
>  t/perf/p2000-sparse-operations.sh        |  1 +
>  t/t1092-sparse-checkout-compatibility.sh | 28 ++++++++++++++++++++++++
>  3 files changed, 33 insertions(+)

Has the test suite been exercised with this patch? It seems to break at least t0012

Previous: Shuqi LiangNext: Shuqi Liang
Message 2 of 20 in “write-tree: integrate with sparse index”
  1. Shuqi LiangApr 2, 2023
  2. Junio C HamanoApr 3, 2023
  3. Shuqi LiangApr 3, 2023
  4. Junio C HamanoApr 3, 2023
  5. write-tree: integrate with sparse indexShuqi Liang, Apr 4, 2023
  6. Victoria DyeApr 5, 2023
  7. Junio C HamanoApr 5, 2023
  8. write-tree: integrate with sparse indexShuqi Liang, Apr 19, 2023
  9. Junio C HamanoApr 19, 2023
  10. Shuqi LiangApr 20, 2023
  11. Junio C HamanoApr 20, 2023
  12. write-tree: integrate with sparse indexShuqi Liang, Apr 21, 2023
  13. Victoria DyeApr 21, 2023
  14. Junio C HamanoApr 24, 2023
  15. write-tree: optimize sparse integrationShuqi Liang, Apr 23, 2023
  16. Junio C HamanoApr 24, 2023
  17. write-tree: optimize sparse integrationShuqi Liang, May 8, 2023
  18. write-tree: optimize sparse integrationShuqi Liang, May 8, 2023
  19. Junio C HamanoMay 8, 2023
  20. Shuqi LiangMay 8, 2023

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.