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

Re: [GSoC] Git Blog 4

From
ZheNing Hu <adlternative@gmail.com>
Date
Jun 15, 2021, 12:30 UTC
Message-ID
<CAOLTT8Sph8MbzH_LR_QV77TAAYP3fbxLsSp_fLvHknJ3f73xrQ@mail.gmail.com>
In-Reply-To
<CAOLTT8QS7bG5M2Ro+vApUDtOgjxgrpUg5Mgp+tOQgyqwpENN1Q@mail.gmail.com>
ZheNing Hu <adlternative@gmail.com> 于2021年6月15日周二 下午4:59写道:
Show 19 quoted lines
>
> >
> > In the cover letter of your patch series you say:
> >
> > "There is still an unresolved issue: performance overhead is very large, so
> > that when we use:
> >
> > git cat-file --batch --batch-all-objects >/dev/null
> >
> > on git.git, it may fail."
> >
> > Is this the same issue? Is it only a memory issue, or is your patch
> > series also making things slower?
> >
>
> Yes, they are talking about the same thing, the memory usage is too large.
> Of course I should check for memory leaks first. However, this is mainly
> caused by changes in the strategy of cat-file printing object data.
>

In fact, it is indeed a problem caused by a memory leak: batch_object_write() forget to free the ref_array_item->value. After solving the problem, although the performance of `git cat-file --batch-all-objects --batch` is still poor, at least there will be no triggering the oom killer.

-- ZheNing Hu

Previous: ZheNing HuNext: Atharva Raykar
Message 7 of 9 in “[GSoC] Git Blog 4”
  1. ZheNing HuJun 13, 2021
  2. Eric SunshineJun 13, 2021
  3. ZheNing HuJun 14, 2021
  4. Christian CouderJun 14, 2021
  5. Christian CouderJun 14, 2021
  6. ZheNing HuJun 15, 2021
  7. ZheNing HuJun 15, 2021
  8. Atharva RaykarJun 14, 2021
  9. ZheNing HuJun 15, 2021

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.