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

Re: Git benchmarks at OpenOffice.org wiki

From
Jakub Narebski <jnareb@gmail.com>
Date
May 3, 2007, 23:36 UTC
Message-ID
<f1drdk$7uj$1@sea.gmane.org>
In-Reply-To
<200705031216.19817.robin.rosenberg.lists@dewire.com>
Robin Rosenberg wrote:
Show 24 quoted lines
> torsdag 03 maj 2007 skrev Johannes Schindelin:
>> On Thu, 3 May 2007, Florian Weimer wrote:
>>> * Jakub Narebski:
>>> 
>>>> What I'm really concerned about is branch switch and merging branches, 
>>>> when one of the branches is an old one (e.g. unxsplash branch), which 
>>>> takes 3min (!) according to the benchmark. 13-25sec for commit is also 
>>>> bit long, but BRANCH SWITCHING which takes 3 MINUTES!?
>>> 
>>> IIRC, GIT accesses every file in the tree, not just the ones that need
>>> updating.  How many files were actually updated when you changed
>>> branches in your experiment?
>> 
>> No. Git does not access every file, but rather all stats. That is a huge 
>> difference. And it should not take _that_ long for ~64000 files. Granted, 
>> it will cause a substantial delay, but not in the range of minutes.
> 
> It's worse... On my laptop the switch took ~ten minutes, not three. 
> A diff --stat takes over six minutes!! For reference, dd:in the pack 
> file with my disk takes ~50 seconds.
> 
> The reason is simple. I have a lousy one gigabyte RAM only, while 
> git wants 1.7GB virtual to do the diff-stat, and 800 MB resident.
> The swap is having a party, 

That is nice to know where the culprit is: 197000 files and 24000 directories (132 projects), i.e. huge tree and not enogh memory. This is yet another reason for splitting OOo repository into subprojects. I do wonder if git can be more conservative in memory usage...

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Previous: Robin Rosenberg
Message 36 of 36 in “Git benchmarks at OpenOffice.org wiki”
  1. Jakub NarebskiMay 1, 2007
  2. Junio C HamanoMay 1, 2007
  3. Andy ParkinsMay 2, 2007
  4. Julian PhillipsMay 2, 2007
  5. Andy ParkinsMay 2, 2007
  6. Julian PhillipsMay 2, 2007
  7. Andy ParkinsMay 2, 2007
  8. Julian PhillipsMay 2, 2007
  9. Jan HolesovskyMay 2, 2007
  10. Andy ParkinsMay 2, 2007
  11. Junio C HamanoMay 2, 2007
  12. Johannes SchindelinMay 2, 2007
  13. Jakub NarebskiMay 2, 2007
  14. Johannes SchindelinMay 2, 2007
  15. Linus TorvaldsMay 5, 2007
  16. Junio C HamanoMay 7, 2007
  17. Linus TorvaldsMay 7, 2007
  18. Jan HolesovskyMay 2, 2007
  19. Johannes SchindelinMay 2, 2007
  20. Jan HolesovskyMay 2, 2007
  21. Johannes SchindelinMay 2, 2007
  22. Petr BaudisMay 2, 2007
  23. Jan HolesovskyMay 2, 2007
  24. Petr BaudisMay 2, 2007
  25. Petr BaudisMay 2, 2007
  26. Jakub NarebskiMay 2, 2007
  27. Jan HolesovskyMay 3, 2007
  28. Alex RiesenMay 3, 2007
  29. Johannes SixtMay 3, 2007
  30. Jakub NarebskiMay 4, 2007
  31. Florian WeimerMay 3, 2007
  32. Johannes SchindelinMay 3, 2007
  33. Robin RosenbergMay 3, 2007
  34. Martin LanghoffMay 3, 2007
  35. Robin RosenbergMay 6, 2007
  36. Jakub NarebskiMay 3, 2007

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.