Gamers generally don't care about power consumption. When you've spent $1000 on the hardware an extra dollar or two on your electricity bill is no big deal.
Gamers generally don't care about power consumption. When you've spent $1000 on the hardware an extra dollar or two on your electricity bill is no big deal.
Citation needed. Where did you get that idea? Please show how djb's vector code spends more power vs the built-in AES "dedicated hardware" instruction when, as he measures:
"* Both ciphers are ~1.7 cycles/byte on Westmere (introduced 2010).
* Both ciphers are ~1.5 cycles/byte on Ivy Bridge (introduced 2012).
* Both ciphers are ~0.8 cycles/byte on Skylake (introduced 2015)."
"even though AES-192 has "hardware support", a smaller key, a smaller block size, and smaller data limits" (his code is 256 bits and 12 rounds).
He's also comparing 12 rounds of ChaCha with 12-round AES, which may be fair, but realistically no one uses ChaCha12, they use ChaCha20.
http://www.intel.com/content/dam/www/public/us/en/documents/...
Intel has done a lot of things to try to balance this. One of those things is they don't even bother turning half the vector unit on unless you use it a lot. If you seldom issue an op with 512-bit operands, the CPU will actually dispatch them as multiple 256-bit operations, in which case you won't incur the drop in clock, but you also don't get the supposed benefit of double throughput. Furthermore the performance may be much worse if the CPU decides to turn up the remaining vector bits, because the clock drops dramatically while those units are charging up.
So you can see that for someone trying to wring out every last bit of performance on a recent Intel CPU using all the advertised vector capabilities, optimization can become quite complicated.