From: Andreas Ericsson <ae@op5.se>
To: Junio C Hamano <junkio@cox.net>
Cc: Qingning Huo <qhuo@mayhq.org>, git@vger.kernel.org
Subject: Re: [PATCH] Invoke git-repo-config directly.
Date: Thu, 16 Mar 2006 12:55:55 +0100 [thread overview]
Message-ID: <4419524B.1030405@op5.se> (raw)
In-Reply-To: <7vmzfq8zmr.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
>
> And the second issue is the last point in the "implications"
> list above. You are right, and I stand corrected. Our scripts
> should consistently use dash form.
>
> One thing that bothers me is that we need to keep encouraging
> users to use dashless form from the command line, while we
> update our scripts to use dash form. What a contradicting and
> confusing situation X-<.
>
One of the two reasons for rewriting the git wrapper in C was the
performance penalty that came from having it as a shell-script while it
was desirable from a porcelainish standpoint to use the dash-less form
since we thought even then that "git" would always be in PATH while
"git-foo" was to be moved to the still-imaginary GIT_EXEC_PATH.
The prepending of the GIT_EXEC_PATH to PATH was a laziness workaround
for scripts that use the dashed form until we'd had time to change
those, although I see from the commit-message that it's a far cry from
abundantly clear (reading it now I even think it's clear I meant the
other way around, although I remember I didn't). Anyways, the relative
parts are these, from commit 8e49d50388211a0f3e7286f6ee600bf7736f4814
---8<---8<---8<---
The location of the GIT_EXEC_PATH (name discussion's closed,
thank gods) can be obtained by running
git --exec-path
which will hopefully give porcelainistas ample time to adapt their
heavy-duty loops to call the core programs directly and thus save
the extra fork() / execve() overhead, although that's not really
necessary any more.
The --exec-path value is prepended to $PATH, so the git-* programs
should Just Work without ever requiring any changes to how they call
other programs in the suite.
Some timing values for 10000 invocations of git-var >&/dev/null:
git.sh: 24.194s
git.c: 9.044s
git-var: 7.377s
---8<---8<---8<---
From the timing values there I think the performance issues of using
the dash-less form can just be ignored. Very rarely will a porcelainish
wrapper do 10000 invocations of git commands where less than 2 seconds
will be a large percentage of the overall runtime.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
next prev parent reply other threads:[~2006-03-16 11:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-03-14 21:10 [PATCH] Invoke git-repo-config directly Qingning Huo
2006-03-14 21:20 ` Johannes Schindelin
2006-03-14 21:30 ` Qingning Huo
2006-03-14 21:58 ` Linus Torvalds
2006-03-14 22:40 ` Qingning Huo
2006-03-14 23:07 ` Linus Torvalds
2006-03-15 20:40 ` Qingning Huo
2006-03-15 21:33 ` Junio C Hamano
2006-03-15 21:35 ` Junio C Hamano
2006-03-15 22:11 ` Qingning Huo
2006-03-15 22:51 ` Linus Torvalds
2006-03-15 23:35 ` Junio C Hamano
2006-03-16 7:53 ` Qingning Huo
2006-03-16 7:57 ` Junio C Hamano
2006-03-16 8:26 ` Junio C Hamano
2006-03-16 12:53 ` Mark Wooding
2006-03-16 13:53 ` Andreas Ericsson
2006-03-17 2:10 ` Junio C Hamano
2006-03-17 10:51 ` Mark Wooding
2006-03-16 14:27 ` Timo Hirvonen
2006-03-16 14:39 ` Andreas Ericsson
2006-03-16 20:33 ` Qingning Huo
2006-03-16 10:14 ` Junio C Hamano
2006-03-16 11:55 ` Andreas Ericsson [this message]
2006-03-16 19:27 ` Jon Loeliger
2006-03-16 19:32 ` Jon Loeliger
2006-03-16 6:37 ` Junio C Hamano
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=4419524B.1030405@op5.se \
--to=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=qhuo@mayhq.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