enow.com Web Search

Search results

  1. Results from the WOW.Com Content Network
  2. Duff's device - Wikipedia

    en.wikipedia.org/wiki/Duff's_device

    In the C programming language, Duff's device is a way of manually implementing loop unrolling by interleaving two syntactic constructs of C: the do-while loop and a switch statement. Its discovery is credited to Tom Duff in November 1983, when Duff was working for Lucasfilm and used it to speed up a real-time animation program.

  3. Loop unrolling - Wikipedia

    en.wikipedia.org/wiki/Loop_unrolling

    On modern processors, loop unrolling is often counterproductive, as the increased code size can cause more cache misses; cf. Duff's device. [1] The goal of loop unwinding is to increase a program's speed by reducing or eliminating instructions that control the loop, such as pointer arithmetic and "end of loop" tests on each iteration; [2 ...

  4. Tom Duff - Wikipedia

    en.wikipedia.org/wiki/Tom_Duff

    While working at Lucasfilm, he created Duff's device, a loop unrolling mechanism in C. On August 22, 2006, the United States Patent and Trademark Office issued U.S. patent 7,095,409 to Pixar for a "Shot shading method and apparatus" invented by Tom Duff and Robert L. Cook.

  5. Coroutine - Wikipedia

    en.wikipedia.org/wiki/Coroutine

    Simon Tatham's contribution, [38] based on Duff's device, is a notable example of the genre, and is the basis for Protothreads and similar implementations. [39] In addition to Duff's objections, [ 24 ] Tatham's own comments provide a frank evaluation of the limitations of this approach: "As far as I know, this is the worst piece of C hackery ...

  6. Software pipelining - Wikipedia

    en.wikipedia.org/wiki/Software_pipelining

    See the article on loop unrolling for more on solutions to this problem, but note that software pipelining prevents the use of Duff's device. [citation needed] In the general case, loop unrolling may not be the best way to implement software pipelining. Consider a loop containing instructions with a high latency. For example, the following code:

  7. Loop-switch sequence - Wikipedia

    en.wikipedia.org/wiki/Loop-switch_sequence

    A loop-switch sequence [1] (also known as the for-case paradigm [2] or Anti-Duff's Device) is a programming antipattern where a clear set of steps is implemented as a switch-within-a-loop. The loop-switch sequence is a specific derivative of spaghetti code .

  8. Protothread - Wikipedia

    en.wikipedia.org/wiki/Protothread

    Tom Duff, of Duff's device fame, had this to say about the shortcomings of the method: "a similar trick for interrupt-driven state machines that is too horrible to go into. [...] I never thought it was an adequate general-purpose coroutine implementation because it’s not easy to have multiple simultaneous activations of a coroutine and it’s ...

  9. Talk:Duff's device/Archive 1 - Wikipedia

    en.wikipedia.org/wiki/Talk:Duff's_device/Archive_1

    Re: "Duff's Device is an optimized implementation of a serial copy." Tom Duff's device is not just about optimizing serial copy. It's more general than that. It's a way to express loop unrolling (or loop unwinding) in the C programming language. Optimizing serial copy is just one application of loop unrolling, there are many others.