From: Davide Libenzi <davidel@xmailserver.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Nicolas Pitre <nico@cam.org>, Sergey Vlasov <vsu@altlinux.ru>,
Junio C Hamano <junkio@cox.net>,
git@vger.kernel.org
Subject: Re: heads-up: git-index-pack in "next" is broken
Date: Wed, 18 Oct 2006 09:17:04 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0610180845040.18388@alien.or.mcafeemobile.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0610180752500.3962@g5.osdl.org>
On Wed, 18 Oct 2006, Linus Torvalds wrote:
> On Tue, 17 Oct 2006, Davide Libenzi wrote:
> >
> > Ehm, I think there's a little bit of confusion. The incorrect golden ratio
> > prime selection for 64 bits machines was coalescing hash indexes into a
> > very limited number of buckets, hence creating very bad performance on diff
> > operations. The result of the diff would have been exacly the same, just
> > coming out after the time for a cup of coffee and a croissant ;)
>
> But my point is, you would have been better off _without_ an algorithm
> that cared about the word-size at all, or with just using "uint32_t".
Yes. At the time I picked Knuth's hash function because it was simple and
fast enough. But it needed special handling for different word sizes,
exactly like kernel's hash_long() does.
> A diff algorithm that gives different answers on a 32-bit LE architecture
> than on a 64-bit BE architecture is BROKEN. If I run on x86-64, I want the
> same answers I got on x86-32, and the same ones I get on ppc32. Anything
> else is SIMPLY NOT ACCEPTABLE!
Speaking in general, seen at the hash function level, of course an interface
should not give different result for different word sizes or word endianess.
Considering the diff algorithm as interface, as I said, the output was
unaffected by the 64 bits word size. It was just very slow.
- Davide
next prev parent reply other threads:[~2006-10-18 16:17 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-17 4:55 heads-up: git-index-pack in "next" is broken Junio C Hamano
2006-10-17 15:39 ` Nicolas Pitre
2006-10-17 16:07 ` Junio C Hamano
2006-10-17 17:00 ` Nicolas Pitre
2006-10-17 18:11 ` Junio C Hamano
2006-10-17 18:47 ` Nicolas Pitre
2006-10-17 19:36 ` Sergey Vlasov
2006-10-17 20:10 ` Junio C Hamano
2006-10-17 20:25 ` Nicolas Pitre
2006-10-17 20:23 ` Nicolas Pitre
2006-10-17 20:51 ` Linus Torvalds
2006-10-17 21:21 ` Nicolas Pitre
2006-10-17 21:46 ` Linus Torvalds
2006-10-18 0:20 ` Nicolas Pitre
2006-10-18 0:57 ` Linus Torvalds
2006-10-18 2:08 ` Nicolas Pitre
2006-10-18 3:12 ` Linus Torvalds
2006-10-18 6:09 ` Davide Libenzi
2006-10-18 14:56 ` Linus Torvalds
2006-10-18 16:17 ` Davide Libenzi [this message]
2006-10-18 16:52 ` Linus Torvalds
2006-10-18 21:21 ` Davide Libenzi
2006-10-18 21:48 ` Linus Torvalds
2006-10-18 22:34 ` Davide Libenzi
2006-10-18 1:30 ` Junio C Hamano
2006-10-18 2:23 ` Nicolas Pitre
2006-10-18 4:16 ` Junio C Hamano
2006-10-18 5:07 ` Junio C Hamano
2006-10-18 10:00 ` Johannes Schindelin
2006-10-18 13:13 ` Nicolas Pitre
2006-10-18 13:02 ` Nicolas Pitre
2006-10-17 21:54 ` Junio C Hamano
2006-10-18 1:38 ` Nicolas Pitre
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=Pine.LNX.4.64.0610180845040.18388@alien.or.mcafeemobile.com \
--to=davidel@xmailserver.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=nico@cam.org \
--cc=torvalds@osdl.org \
--cc=vsu@altlinux.ru \
/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).