... > + cycles_t end, start = get_cycles(); > blake2s_update(&input_pool.hash, in, nbytes); > + end = get_cycles(); If get_cycles() is rdtsc then that gives meaningless numbers. The cpu clock frequency will change on you. You can use one of the performance counters to get an actual cycle count - although that is only stable for 'hot cache' as any memory accesses are clock speed dependant. OTOH the entropy mixing is very likely to be 'cold cache' and all the unrolling in blakes7 will completely kill performance. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)