Skip to content

Instantly share code, notes, and snippets.

@kasajian
Created May 20, 2014 03:00
Show Gist options
  • Save kasajian/2ffc44e3c8a0c0569312 to your computer and use it in GitHub Desktop.
Save kasajian/2ffc44e3c8a0c0569312 to your computer and use it in GitHub Desktop.
Duff's device - Fast way to copy in chunks in C
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);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment