256 КБ кода, чтобы обнулить 64 КБ памяти — починили прямо в эмуляции (devblogs.microsoft.com)
Каждая инструкция записи байта занимала 4 байта. 65 536 штук — это 256 килобайт машинного кода ради инициализации 64 килобайт стека: соотношение кода к данным 4 к 1.
Вместо того чтобы гонять этот раздутый код как есть, бинарный транслятор узнавал чудовищную функцию и подставлял компактный цикл, который и должен был выдать компилятор.
Оговорка из обсуждения: возможно, это вовсе не баг, и полностью развёрнутая версия на реальном железе работала быстрее.
Войдите, чтобы сохранить