News for hackers. Stuff that matters.
Re:Is anybody still using Windows 95? by anthk on Thursday September 10, 2020 @11:03AM (#24432972)
>Large binaries are slow binaries.

False. Loop unrolling is always faster.

Re:Is anybody still using Windows 95? by arghwhat on Friday September 11, 2020 @09:23AM (#24442483)
> False. Loop unrolling is always faster.

Blatantly false, which is why heuristics decide when to unroll.

Large code trashes instruction caches, and cache misses are very expensive. More code, more misses.

For very small loops, the unroll can pay off, but these are often too small to have significant size detriment.

Re:Is anybody still using Windows 95? by JoeAltmaier on Thursday September 10, 2020 @11:04AM (#24432983)
Depends largely on the state of code caches, microcode and bus structure. Loop unrolling can be the worst thing you can do, on some architectures.

See, the hardware folks have listened in on the compiler people and their problems. They've done things like identify loops and rewritten them in microcode for optimization. If a short loop can fit entirely within the CPU code buffer, speed goes way up. Unroll the loop and blow the CPU code buffer, defeat the optimization and lose all that.