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

Re: GIT Performance question

From
Dmitry Potapov <dpotapov@gmail.com>
Date
Apr 17, 2010, 10:40 UTC
Message-ID
<20100417104037.GA20631@dpotapov.dyndns.org>
In-Reply-To
<1271498149921-4917066.post@n2.nabble.com>
On Sat, Apr 17, 2010 at 01:55:49AM -0800, santos2010 wrote:
Show 6 quoted lines
> 
> I read that GIT doesn't use deltas, it uses snapshots. My question is: how
> could GIT have high performance (most of the users say that) if for
> synchronization (pull/push command) with e.g. a shared repository GIT
> transfers all modified files (and references) instead of the respective
> deltas? 

Well, Git _does_ use deltas for storage and synchronization, but this deltas are unrelated to history of changes stored in the repository. So, conceptually, Git just stores snapshots, but files in those snapshots are deltified against some old files based on some heuristic of finding similar files, which allows Git to create deltas not only to previous version of the same file (which most VCSes do), but potentially to any file stored in the repository if it similar enough. So, typically, Git has the most compact storage comparing to other VCSes, in particular, in case of complex history with a lot of branches and merges.

Dmitry
Previous: Jeff KingNext: santos2010
Message 4 of 6 in “GIT Performance question”
  1. santos2010Apr 17, 2010
  2. Geert BoschApr 17, 2010
  3. Jeff KingApr 17, 2010
  4. Dmitry PotapovApr 17, 2010
  5. santos2010Apr 17, 2010
  6. Jeff KingApr 17, 2010

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.