[Haskell-cafe] Annoyed at System.Random
tab at snarc.org
Fri May 4 16:20:49 CEST 2012
On 05/04/2012 02:33 PM, Ryan Newton wrote:
> 1. cprng-aes is painfully slow.
> when using the haskell AES implementation yes. with AESNI it fly, and even
> more when
> i'll have time to chunk the generation to bigger blocks (says 128 AES
> block at a time)
> One data-point -- in "intel-aes" I needed to do bigger blocks to get decent
Yes, it's a slightly random value here, although it's a tradeoff with memory
performance, 128 blocks would do quite well compared to any haskell
implementation that goes 1 block at a time 
 because you'll have to drop in/out of C, and reload the SSE registers each time.
> 2. It doesn't use NI instructions (or any C implementation, currently).
> The NI instructions support are coming. and there's ton of already
> existing C implementation
> that could just be added.
> Oh, neat. Could you share a pointer to some C code (with GCC aes intrinsics?)
> that can replace what the ASM does in the "intel-aes" package?
Just have a look in cryptocipher with cbits/aes/x86ni.c
More information about the Haskell-Cafe