|
|
|
|
|
by schmerg
2609 days ago
|
|
To backup what others have said with a little more detail, see my stackoverflow reply https://stackoverflow.com/questions/35663635/why-do-processo... The issue is that the AVX circuitry is actually powered down when not in use to save power and run cooler, so as soon as an instruction is used, the CPU starts to power up the circuits but this takes ~70 microseconds (and this reduces the base clock of the chip pretty much immediately), and after ~700 microseconds of not using the instructions it powers down the circuits again. So if you know you have a batch of milliseconds (or more) of intensive work to do (eg crypto, rendering), it may be worth it. But I work on a maths library and while I have written SSE2 and AVX vectorised version of key routines, calling the AVX ones is for us generally a net slowdown as it slows down all the logic that occurs around those routines (eg most of our matrix operations are around 20x20 to 200x200 size... these are worth speeding up when we do lots of them, but we rarely do "batches") |
|