git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephan Beyer <s-beyer@gmx.net>
To: git@vger.kernel.org
Cc: Christian Couder <chriscool@tuxfamily.org>,
	Daniel Barkalow <barkalow@iabervon.org>,
	Stephan Beyer <s-beyer@gmx.net>
Subject: git sequencer prototype
Date: Sat, 26 Jul 2008 07:20:39 +0200	[thread overview]
Message-ID: <1217049644-8874-1-git-send-email-s-beyer@gmx.net> (raw)

Hi,

for those who are interested in git-sequencer: here's the latest
prototype, that should be able to apply to master.

An outline of the differences to the last sequencer prototype patchset:
 - typofixes, minor bugfixes
 - simplifications (seen due to builtin-ification)
 - introduced --allow-dirty
   that is used by the git-am migration, to allow
   usage of git-am on dirty index
 - set ("keep") ORIG_HEAD; somehow experimental


In the last patchset I mentioned the issue, that the prototype is slow
as hell.  I know some bottlenecks, but I have not even tried to change
that, because this is no issue for the builtin.

I paste the experiments that I did on my test machine some time ago:

git-am: Apply 100 (trivial) patches
        original: 5.1s
 prototype-based: 17s  (wtf!)
   builtin-based: 2.8s

git-rebase--interactive: Pick 100 (trivial) commits
        original: 4.8s
 prototype-based: 10.1s
   builtin-based: 1.7s

Those times don't have any methodic value, it's just to get an impression.
Nevertheless some information about that:
 - performance was only tested one or two times
 - /proc/cpuinfo says my machine is an AMD 64 X2 with 4013 BogoMIPS
 - /bin/sh is dash (if the propaganda is true, bash is even slower)
 - the changes of the patches are equivalent to those of the commits

Regards,
  Stephan


Stephan Beyer (5):
  Add git-sequencer shell prototype
  Add git-sequencer documentation
  Add git-sequencer test suite (t3350)
  Migrate git-am to use git-sequencer
  Migrate rebase-i to sequencer

 .gitignore                      |    1 +
 Documentation/git-sequencer.txt |  676 +++++++++++++
 Makefile                        |    1 +
 command-list.txt                |    1 +
 git-am.sh                       |  632 +++++--------
 git-rebase--interactive.sh      |  436 ++-------
 git-rebase.sh                   |    7 +-
 git-sequencer.sh                | 2042 +++++++++++++++++++++++++++++++++++++++
 t/t3350-sequencer.sh            |  838 ++++++++++++++++
 t/t3404-rebase-interactive.sh   |    8 +-
 t/t4150-am.sh                   |    4 +-
 11 files changed, 3889 insertions(+), 757 deletions(-)
 create mode 100644 Documentation/git-sequencer.txt
 create mode 100755 git-sequencer.sh
 create mode 100755 t/t3350-sequencer.sh

             reply	other threads:[~2008-07-26  5:22 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-26  5:20 Stephan Beyer [this message]
2008-07-26  5:20 ` [PATCH 1/5] Add git-sequencer shell prototype Stephan Beyer
2008-07-26  5:20   ` [PATCH 2/5] Add git-sequencer documentation Stephan Beyer
2008-07-26  5:20     ` [PATCH 3/5] Add git-sequencer test suite (t3350) Stephan Beyer
2008-07-26  5:20       ` [PATCH 4/5] Migrate git-am to use git-sequencer Stephan Beyer
2008-07-26  5:20         ` [PATCH 5/5] Migrate rebase-i to sequencer Stephan Beyer
2008-07-26 14:52           ` Johannes Schindelin
2008-07-30 12:18             ` Stephan Beyer
2008-07-26  8:16     ` [PATCH 2/5] Add git-sequencer documentation Jakub Narebski
2008-07-26  8:26       ` Sverre Rabbelier
2008-07-26 14:47     ` Johannes Schindelin
2008-07-30 12:14       ` Stephan Beyer
2008-07-30 14:06         ` Johannes Schindelin
2008-07-30 15:32           ` Daniel Barkalow
2008-07-31 12:53           ` Stephan Beyer
2008-07-26 14:19 ` git sequencer prototype Johannes Schindelin
2008-07-26 17:01   ` Sverre Rabbelier
2008-07-30 12:14   ` Stephan Beyer
2008-07-30 14:07     ` Johannes Schindelin
2008-07-31 12:40       ` Stephan Beyer
  -- strict thread matches above, loose matches on Subject: below --
2008-07-01  2:38 Stephan Beyer
2008-07-01  8:51 ` Junio C Hamano
2008-07-01 14:53   ` Stephan Beyer
2008-07-04 21:00 ` Alex Riesen
2008-07-04 22:09   ` Junio C Hamano
2008-07-04 22:23     ` Stephan Beyer
2008-07-05  8:13     ` Alex Riesen
2008-07-05 10:12       ` Thomas Adam
2008-07-05 10:13       ` Johannes Schindelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1217049644-8874-1-git-send-email-s-beyer@gmx.net \
    --to=s-beyer@gmx.net \
    --cc=barkalow@iabervon.org \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).