Re: [PATCH] git gc: Speed it up by 18% via faster hash comparisons

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/28/11 12:50 PM, Erik Faye-Lund wrote:
Alas, i have not seen these sha1 hash buffers being allocated unaligned (in my
very limited testing). In which spots are they allocated unaligned?

Like I said above, it can happen when allocated on the stack. But it
can also happen in malloc'ed structs, or in global variables. An array
is aligned to the size of it's base member type. But malloc does
worst-case-allignment, because it happens at run-time without
type-information.

I'd be very surprised if malloc() did "worst case alignment" - that'd suck pretty badly from performance point of view. However, if you want *guarantees* about the alignment, there's memalign() for heap allocations.

Stack allocation alignment is a harder issue but I doubt it's as bad as you make it out to be. On x86, for example, stack pointer is almost always 8 or 16 byte aligned with compilers whose writers have spent any time reading the Intel optimization manuals.

So yes, your statements are absolutely correct but I strongly doubt it matters that much in practice unless you're using a really crappy compiler...

			Pekka
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]