Я понял, почему устройство Даффа быстрее, чем обычный цикл, который можно развернуть, но он не оптимизирован. Но я пока не могу понять, как код можно скомпилировать.
Думаю, это уловка с синтаксисом переключателя . Но не больше.
Как сделать, когда предложение существует в предложении переключить ? Очень странно.
Кто-нибудь может это объяснить?
Edit: Другой вопрос. Почему дафф использовал 8? Это может быть 16, 65536 или что угодно. Из-за размера кода? Есть еще одна причина? Например, преимущества кэширования или конвейерной обработки.