3 ms·
Apple's goals were also to have a low-energy de/compressor suitable for mobile. I'd love to see some comparisons of the two of them running on ARM.
by Jerry2 10y ago
Apple's goals were also to have a low-energy de/compressor suitable for mobile. I'd love to see some comparisons of the two of them running on ARM.
- mark-r 10y agoI'd love to see that too. Remember that if the processor uses 2x the power but gets done 3x faster, it's still 1.5x more efficient overall.
- tmd83 10y agoThats what I was thinking. I haven't found any validation or even the rationale behind lzfse's supposed lower power usage. I can think of two things. 1. Apple tried to write a fast and reasonably compressible version of LZ4 thus improving power usage by creating LZFSE since none existed but beaten out handsomely by Zstandard. 2. Following a parent comment, Zstandard might some of the things that are dependent on a highly OoO cpu with lots of caches, extremely good branch predictor that could be significantly slower on an ARM even the apple one despite how good they are. Or they could still be slower but on ARM the gap might not be as big and the decision not as cut and dry as it seems now. Would love to know what the actual case is from someone involved in LZFSE.
- MichaelGG 10y agoIs low energy significantly different from high performance code? I thought the general advice was make the code as fast as possible so the work can be finished and the CPU slow/power down again. Are there cases where an algorithm takes 10x the wall clock time to execute, but actually uses less energy on the same chip? (Memory use/access is the main thing I guess that could be different.)
- bluedino 10y ago>> Is low energy significantly different from high performance code? It can be. Certain operations are more power efficient than others - subtraction and then a check for negative value instead of comparison, certain vector operations, loop unrolling, using less memory/bus traffic... >> Are there cases where an algorithm takes 10x the wall clock time to execute, but actually uses less energy on the same chip? Slower code can be more power efficent. You're just tuning for different results.
- MichaelGG 10y agoInteresting. Do you know of any open source examples offhand? I'd imagine this also requires very detailed knowledge of the chip, microcode, etc. Probably hard for x86 but I guess this kinda stuff would be on ARM where the programmer has deep vertical access (like as mentioned, Apple).