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

Media repositories and memory usage

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
Nov 20, 2008, 16:19 UTC
Message-ID
<fcaeb9bf0811200819v721a8d83s2890d8e19a3e4e4e@mail.gmail.com>
Hi,

There is another aspect I did not see Tim mention in his slides: memory usage with large blobs. Git has tradition of loading the whole blob in memory for easy manipulation. It could consume a lot of memory in large blob case (and particularly worse in mingw port because it does not support mmap).

I see these operations that need access to blobs:
 1. checkout blobs
 2. checkin blobs
 3. diff/delta blobs

Diffing blobs should be avoided any way for large blobs. Checking in blobs does not require lots of memory. I'm working on checkout case to reduce memory footprint. Is there any other case that will need full blob in memory?

PS. For checkout/checkin case, if you do any conversion, full blob in memory is still needed. But I guess that is rare for large blobs.

-- 
Duy
Message 1 of 1 in “Media repositories and memory usage”
  1. Nguyen Thai Ngoc DuyNov 20, 2008

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.