{"thread":{"id":"10320","subject":"git-merge performance","startedAt":"2007-10-16T17:17:48Z","lastAt":"2007-10-16T18:18:25Z","messageCount":3,"participants":["Andrew Morton","Andreas Ericsson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"56092","messageId":"20071016101748.ff132685.akpm@linux-foundation.org","threadId":"10320","inReplyTo":null,"subject":"git-merge performance","fromName":"Andrew Morton","fromEmail":"akpm@linux-foundation.org","sentAt":"2007-10-16T17:17:48Z","receivedAt":"2007-10-16T17:17:48Z","isPatch":false,"sender":{"key":"akpm@linux-foundation.org","avatar":null},"body":"\nMy git-pulling script (git-1.4.2) seems to have got quite a bit slower\nsince the post-2.6.23 patchflood.  I just did a bit of poking and it's\ngit-merge which is taking most of the time.\n\n\nUsing git-watchdog as an example:\n\nbox:/usr/src/git26> cat .git/branches/git-watchdog \ngit+ssh://master.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog-mm.git\nbox:/usr/src/git26> git reset --hard origin\nbox:/usr/src/git26> git fetch git-watchdog\nbox:/usr/src/git26> time git merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null                  \nAutomatic merge failed; fix conflicts and then commit the result.\ngit merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null  47.03s user 26.53s system 97% cpu 1:15.67 total\n\n\nTry git-md-accel:\n\nbox:/usr/src/git26> cat .git/branches/git-md-accel \ngit://lost.foo-projects.org/~dwillia2/git/iop#md-for-linus\nbox:/usr/src/git26> time git reset --hard origin\ngit reset --hard origin  0.51s user 0.11s system 100% cpu 0.615 total\nbox:/usr/src/git26> time git fetch git-md-accel\ngit fetch git-md-accel  0.12s user 0.05s system 11% cpu 1.379 total\nbox:/usr/src/git26> time git merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null                  \nAutomatic merge failed; fix conflicts and then commit the result.\ngit merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null  42.52s user 24.18s system 96% cpu 1:08.93 total\n\n\nAnd git-unionfs:\n\nbox:/usr/src/git26> cat .git/branches/git-unionfs      \ngit+ssh://master.kernel.org/pub/scm/linux/kernel/git/ezk/unionfs.git\nbox:/usr/src/git26> time git reset --hard origin\ngit reset --hard origin  0.52s user 0.09s system 100% cpu 0.611 total\nbox:/usr/src/git26> time git fetch git-unionfs      \ngit fetch git-unionfs  0.16s user 0.03s system 8% cpu 2.285 total\nbox:/usr/src/git26> time git merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null                  \nAutomatic merge went well; stopped before committing as requested\ngit merge --no-commit 'test merge' HEAD FETCH_HEAD > /dev/null  42.81s user 24.86s system 96% cpu 1:09.98 total\n\n\nEverything is in pagecache, and I just did git-repack -a -d;git\nprune;git-fsck-objects --full.\n\nPulling 70-80 trees at a minute and a half each gets a bit dull ;)\n"},{"id":"56098","messageId":"4714F612.2010905@op5.se","threadId":"10320","inReplyTo":"20071016101748.ff132685.akpm@linux-foundation.org","subject":"Re: git-merge performance","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2007-10-16T17:34:10Z","receivedAt":"2007-10-16T17:34:10Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Andrew Morton wrote:\n> My git-pulling script (git-1.4.2) seems to have got quite a bit slower\n> since the post-2.6.23 patchflood.  I just did a bit of poking and it's\n> git-merge which is taking most of the time.\n> \n\nThat's odd. If it had been the remote fetching it would have been\nunderstandable. Is this also happening with more recent gits? I know there\nare some significant performance-improvements in 1.5.3.4 (or below).\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"56104","messageId":"20071016111825.5a142f00.akpm@linux-foundation.org","threadId":"10320","inReplyTo":"4714F612.2010905@op5.se","subject":"Re: git-merge performance","fromName":"Andrew Morton","fromEmail":"akpm@linux-foundation.org","sentAt":"2007-10-16T18:18:25Z","receivedAt":"2007-10-16T18:18:25Z","isPatch":false,"sender":{"key":"akpm@linux-foundation.org","avatar":null},"body":"On Tue, 16 Oct 2007 19:34:10 +0200\nAndreas Ericsson <ae@op5.se> wrote:\n\n> Andrew Morton wrote:\n> > My git-pulling script (git-1.4.2) seems to have got quite a bit slower\n> > since the post-2.6.23 patchflood.  I just did a bit of poking and it's\n> > git-merge which is taking most of the time.\n> > \n> \n> That's odd. If it had been the remote fetching it would have been\n> understandable. Is this also happening with more recent gits? I know there\n> are some significant performance-improvements in 1.5.3.4 (or below).\n> \n\n1.5.0 is no faster, but 1.5.3 appears to be seven times quicker.  Neato.\n"}]}