[PATCH 1/2] Optimize buffer xoring.
    Werner Koch 
    wk at gnupg.org
       
    Thu Nov 29 18:50:48 CET 2012
    
    
  
On Thu, 29 Nov 2012 16:37, jussi.kivilinna at mbnet.fi said:
> +#ifndef G10_BUFHELP_H
> +#define G10_BUFHELP_H
> +
> +#include <stdint.h>
You may only use stdint.h if it is available; see for example sha1.c.
We are targeting C90 and not C99.
> +#if defined(__i386__) || defined(__x86_64__)
> +/* These architechtures are able of unaligned memory accesses and can
> +   handle those fast.
> + */
Really?  All of them?
> +  ldst = (long *)dst;
> +  lsrc1 = (const long *)src1;
> +  lsrc2 = (const long *)src2;
You assume sizeof(long)<=sizeof(void*) - that should be okay.  However
this is only optimal on Unix systems where sizeof(long)== sizeof(void*);
Windows 64 bit has sizeof(long long)==sizeof(void*).  Thus tehre should
be some space for further improvement.
Shalom-Salam,
   Werner
-- 
Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.
    
    
More information about the Gcrypt-devel
mailing list