Q: What is ``Duff's Device''?
A: It's a devastatingly devious way of unrolling a loop, devised by Tom Duff while he was at Lucasfilm. In its ``classic'' form, it was used to copy bytes, and looked like this:
	register n = (count + 7) / 8;	/* count > 0 assumed */
	switch (count % 8)
	{
	case 0:	   do { *to = *from++;
	case 7:		*to = *from++;
	case 6:		*to = *from++;
	case 5:		*to = *from++;
	case 4:		*to = *from++;
	case 3:		*to = *from++;
	case 2:		*to = *from++;
	case 1:		*to = *from++;
		      } while (--n > 0);
	}
where count bytes
are to be copied
from the array pointed to by from
to the memory location pointed to by to
(which is a memory-mapped device output register,
which is why to isn't incremented).
It solves the problem of handling the leftover bytes
(when count isn't a multiple of 8)
by interleaving a
switch statement
with the loop
which copies bytes 8 at a time.
(Believe it or not, it is
legal
to have case labels buried
within blocks
nested in a switch statement
like this.
In his announcement of the technique to C's developers and the world,
Duff noted that C's switch syntax,
in particular its
``fall through''
behavior,
had long been controversial,
and that
``This code forms some sort of argument in that debate,
but I'm not sure whether it's for or against.'')
Additional links: longer explanation