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

RE: git performance

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Oct 23, 2008, 18:31 UTC
Message-ID
<alpine.LNX.1.00.0810231346520.19665@iabervon.org>
In-Reply-To
<000901c93490$e0c40ed0$a24c2c70$@com>
On Wed, 22 Oct 2008, Edward Ned Harvey wrote:
Show 7 quoted lines
> Out of curiosity, what are they talking about, when they say "git is 
> fast?"  Just the fact that it's all local disk, or is there more to it 
> than that?  I could see - git would probably outperform perforce for 
> versioning of large files (let's say iso files) to benefit from 
> sustained local disk IO, while perforce would probably outperform 
> anything I can think of, operating on thousands of tiny files, because 
> it will never walk the tree. 

It shouldn't be too hard to make git work like perforce with respect to walking the tree. git keeps an index of the stat() info it saw when it last looked at files, and only looks at the contents of files whose stat() info has changed. In order to have it work like perforce, it would just need to have a flag in the stat() info index for "don't even bother", which it would use for files that aren't "open"; for files with this flag, the check for index freshness would always say it's fresh without looking at the filesystem. Then you'd just have a config option to check out files as "not open" (and not writeable), and have a "git open" program that would chmod files and get their real stat info.

Of course, git is tuned for cases where the modify/build/test cycle requires stat() (or worse) on every file.

	-Daniel
*This .sig left intentionally blank*
Previous: Jeff KingNext: Nanako Shiraishi
Message 10 of 22 in “git performance”
  1. Edward Ned HarveyOct 22, 2008
  2. Jeff KingOct 22, 2008
  3. Peter HarrisOct 22, 2008
  4. Edward Ned HarveyOct 22, 2008
  5. Andreas EricssonOct 23, 2008
  6. Andreas EricssonOct 23, 2008
  7. Andreas EricssonOct 23, 2008
  8. Matthieu MoyOct 23, 2008
  9. Jeff KingOct 23, 2008
  10. Daniel BarkalowOct 23, 2008
  11. Nanako ShiraishiOct 23, 2008
  12. Daniel BarkalowOct 24, 2008
  13. Pete HarlanOct 24, 2008
  14. Pete HarlanOct 24, 2008
  15. Jakub NarebskiOct 22, 2008
  16. Andreas EricssonOct 23, 2008
  17. Nguyen Thai Ngoc DuyOct 23, 2008
  18. Jeff KingOct 24, 2008
  19. George ShammasOct 24, 2008
  20. Jakub NarebskiOct 24, 2008
  21. Linus TorvaldsOct 24, 2008
  22. Jeff KingOct 24, 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.