News for hackers. Stuff that matters.
Re:Tom Duff on Duff's Device (1988) by userbinator on Saturday September 05, 2015 @10:57PM (#10176700)
I wonder what programmers at the time would think of CPUs eventually being so good at handling loops that unrolling changes from an optimisation technique to be performed manually, to one that compilers might sometimes do, to an anti-optimisation:

http://www.agner.org/optimize/blog/read.php?i=142

It is so important to economize the use of the micro-op cache that I would give the advice never to unroll loops.

http://lkml.iu.edu/hypermail/linux/kernel/0008.2/0171.html

by eliminating all instances of Duff's Device from the XFree86 4.0 server, the server shrunk in size by _half_ _a_ _megabyte_ (!!!), and was faster to boot

Re:Tom Duff on Duff's Device (1988) by TheCoelacanth on Sunday September 06, 2015 @12:59AM (#10176850)
It seems from his comments that the idea of a compiler being able to do it better in some circumstances wasn't completely outlandish.

> Don't try to be smarter than an over-clever C compiler that recognizes loops that implement block move or block clear and compiles them into machine idioms.

Re:Tom Duff on Duff's Device (1988) by CyberDildonics on Saturday September 05, 2015 @11:44PM (#10176772)
Some of that can be attributed to the fact that there are multiple integer and floating point units, so the loop counter is often totally inconsequential.