From: Nicolas Pitre Date: Tue, 18 Aug 2009 00:39:30 GMT Subject: Re: [PATCH] block-sha1: make the size member first in the context struct Message-ID: In-Reply-To: On Tue, 18 Aug 2009, Johannes Schindelin wrote: > Hi, > > On Mon, 17 Aug 2009, Nicolas Pitre wrote: > > > This is a 64-bit value, hence having it first provides a better > > alignment. > > > > Signed-off-by: Nicolas Pitre > > > > diff --git a/block-sha1/sha1.h b/block-sha1/sha1.h > > index 6ff59b2..b864df6 100644 > > --- a/block-sha1/sha1.h > > +++ b/block-sha1/sha1.h > > @@ -7,9 +7,9 @@ > > */ > > > > typedef struct { > > + unsigned long long size; > > unsigned int H[5]; > > unsigned int W[16]; > > - unsigned long long size; > > } blk_SHA_CTX; > > By the reasoning suggested in the commit message, should H[5] not go to > the end? Both arrays are based of unsigned ints which have the same alignment rules. Furthermore the size and H members are much more used than the W member, and keeping them close should help with CPU cache locality. Nicolas