2 хв хв · Hacker News
Як оптимізатор компілятора згенерував 256 КБ коду для ініціалізації 64 КБ даних
Команда розробників емулятора Windows x86-32 виявила програму, яка ініціалізувала стек-буфер розміром 64 КБ. Замість звичайного циклу компілятор розгорнув його в 65 536 окремих 4-байтних інструкцій запису, що змусило команду додати кастомну оптимізацію в транслятор.
Чому це важливо. Це класичне нагадування про те, як екстремальні оптимізації компілятора можуть зашкодити, та як системні розробники пишуть кастомні обхідні шляхи для неефективного стороннього коду.