git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git sequencer prototype
@ 2008-07-26  5:20 Stephan Beyer
  2008-07-26  5:20 ` [PATCH 1/5] Add git-sequencer shell prototype Stephan Beyer
  2008-07-26 14:19 ` git sequencer prototype Johannes Schindelin
  0 siblings, 2 replies; 20+ messages in thread
From: Stephan Beyer @ 2008-07-26  5:20 UTC (permalink / raw)
  To: git; +Cc: Christian Couder, Daniel Barkalow, Stephan Beyer

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2008-07-31 12:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-26  5:20 git sequencer prototype Stephan Beyer
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

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).