From: Matthieu Moy <Matthieu.Moy@imag.fr>
To: git@vger.kernel.org
Subject: Re: Smart fetch via HTTP?
Date: Thu, 17 May 2007 13:28:44 +0200 [thread overview]
Message-ID: <vpq8xbnlmdv.fsf@bauges.imag.fr> (raw)
In-Reply-To: <Pine.LNX.4.64.0705170152470.6410@racer.site> (Johannes Schindelin's message of "Thu\, 17 May 2007 01\:52\:55 +0100 \(BST\)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> Hi,
>
> On Thu, 17 May 2007, Martin Langhoff wrote:
>
>> On 5/16/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>> > On Wed, 16 May 2007, Martin Langhoff wrote:
>> > > Do the indexes have enough info to use them with http ranges? It'd be
>> > > chunkier than a smart protocol, but it'd still work with dumb servers.
>> > It would not be really performant, would it? Besides, not all Web servers
>> > speak HTTP/1.1...
>>
>> Performant compared to downloading a huge packfile to get 10% of it?
>> Sure! It'd probably take a few trips, and you'd end up fetching 20% of
>> the file, still better than 100%.
>
> Don't forget that those 10% probably do not do you the favour to be in
> large chunks. Chances are that _every_ _single_ wanted object is separate
> from the others.
FYI, bzr uses HTTP range requests, and the introduction of this
feature lead to significant performance improvement for them (bzr is
more dumb-protocol oriented than git is, so that's really important
there). They have this "index file+data file" system too, so you
download the full index file, and then send an HTTP range request to
get only the relevant parts of the data file.
The thing is, AAUI, they don't send N range requests to get N chunks,
but one HTTP request, requesting the N ranges at a time, and get the N
chunks a a whole (IIRC, a kind of MIME-encoded response from the
server). So, you pay the price of a longer HTTP request, but not the
price of N networks round-trips.
That's surely not as efficient as anything smart on the server, but
might really help for the cases where the server is /not/ smart.
--
Matthieu
next prev parent reply other threads:[~2007-05-17 11:29 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-15 20:10 Smart fetch via HTTP? Jan Hudec
2007-05-15 22:30 ` A Large Angry SCM
2007-05-15 23:29 ` Shawn O. Pearce
2007-05-16 0:38 ` Junio C Hamano
2007-05-16 5:25 ` Martin Langhoff
2007-05-16 11:33 ` Johannes Schindelin
2007-05-16 21:26 ` Martin Langhoff
2007-05-16 21:54 ` Jakub Narebski
2007-05-17 0:52 ` Johannes Schindelin
2007-05-17 1:03 ` Shawn O. Pearce
2007-05-17 1:04 ` david
2007-05-17 1:26 ` Shawn O. Pearce
2007-05-17 1:45 ` Shawn O. Pearce
2007-05-17 12:36 ` Theodore Tso
2007-05-17 3:45 ` Nicolas Pitre
2007-05-17 10:48 ` Johannes Schindelin
2007-05-17 14:41 ` Nicolas Pitre
2007-05-17 15:24 ` Martin Langhoff
2007-05-17 15:34 ` Nicolas Pitre
2007-05-17 20:04 ` Jan Hudec
2007-05-17 20:31 ` Nicolas Pitre
2007-05-17 21:00 ` david
2007-05-18 9:01 ` Johannes Schindelin
2007-05-18 17:51 ` Jan Hudec
2007-05-17 11:28 ` Matthieu Moy [this message]
2007-05-17 13:10 ` Martin Langhoff
2007-05-17 13:47 ` Johannes Schindelin
2007-05-17 14:05 ` Matthieu Moy
2007-05-17 14:09 ` Martin Langhoff
2007-05-17 15:01 ` Nicolas Pitre
2007-05-17 23:14 ` Jakub Narebski
2007-05-17 14:50 ` Nicolas Pitre
2007-05-17 12:40 ` Petr Baudis
2007-05-17 12:48 ` Matthieu Moy
2007-05-18 18:27 ` Linus Torvalds
2007-05-18 18:33 ` alan
2007-05-18 19:01 ` Joel Becker
2007-05-18 20:06 ` Matthieu Moy
2007-05-18 20:13 ` Linus Torvalds
2007-05-18 21:56 ` Joel Becker
2007-05-20 10:30 ` Jan Hudec
2007-05-19 0:50 ` david
2007-05-19 3:58 ` Shawn O. Pearce
2007-05-19 4:58 ` david
2007-05-17 20:26 ` Jan Hudec
2007-05-17 20:38 ` Nicolas Pitre
2007-05-18 17:35 ` Jan Hudec
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=vpq8xbnlmdv.fsf@bauges.imag.fr \
--to=matthieu.moy@imag.fr \
--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).