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

Re: Git benchmarks at OpenOffice.org wiki

From
Robin Rosenberg <robin.rosenberg.lists@dewire.com>
Date
May 3, 2007, 10:16 UTC
Message-ID
<200705031216.19817.robin.rosenberg.lists@dewire.com>
In-Reply-To
<Pine.LNX.4.64.0705031131410.4015@racer.site>
torsdag 03 maj 2007 skrev Johannes Schindelin:
Show 18 quoted lines
> Hi,
> 
> 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,

$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  2 1861632  14108    428 126816   70  347   605   647  594 1041 11  2 74 13
 0  2 1861204  12096    420 125724 3096    8  3096    24  625 1171  5  1  0 94
 0  2 1860896  18972    404 115836 3524  292  3524   292  671 1474  7  4  0 89
 0  2 1860820  18668    364 113736 3556  784  3556   784  669 1384  7  5  0 88
 0  3 1860420  19692    300 109904 3008  180  3156   180  684 1325  8  5  0 87
 0  3 1860184  18560    300 108596 3316  232  3396   232  643 1246  8  4  0 88
 0  2 1859856  21808    292 103744 2108   32  2356    32  637 1319  9  1  0 90
-- robin
Previous: Johannes SchindelinNext: Martin Langhoff
Message 33 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.