From: Avi Kivity Date: Sun, 26 Jul 2009 17:07:07 GMT Subject: Re: Performance issue of 'git branch' Message-ID: <4A6C8D3B.101@redhat.com> In-Reply-To: <20090724225917.GA11191@spearce.org> On 07/25/2009 01:59 AM, Shawn O. Pearce wrote: > Theodore Tso wrote: > >> On Fri, Jul 24, 2009 at 02:21:20PM -0700, Linus Torvalds wrote: >> >>> I wonder if there is some way to only load the crazy curl stuff when we >>> actually want open a http: connection. >>> >> Well, we could use dlopen(), but I'm not sure that qualifies as a >> _sane_ solution --- especially given that there are approximately 15 >> interfaces used by git, that we'd have to resolve using dlsym(). >> > > Yea, that's not sane. > > Probably the better approach is to have git fetch and git push be a > different binary from main git, so we only pay the libcurl loading > overheads when we hit transport. > Or make the transports shared libraries, and use dlopen() to open the transport and dlsym() to resolve the struct transport object exported by the library. -- error compiling committee.c: too many arguments to function