Как уместить эмулятор Game Boy в 4 КБ кэша Playdate

Dirty Optimization Secrets (C for Playdate)

Разработчик делится нестандартными приёмами оптимизации C для Playdate, которые помогли ускорить эмулятор Game Boy. В их числе сжатие ядра эмулятора с 20 КБ до 2 КБ, использование инструкционного кэша, кастомный линкер-скрипт, ручное размещение кода в ITCM и борьба с «лотереей производительности» из-за выравнивания кэша и таблиц предсказания переходов.

Первое, что я сделал для повышения производительности эмуляции Game Boy, — сжал 20-килобайтное ядро эмулятора до всего 2 КБ, убрав гигантскую таблицу switch и выразив её гораздо меньшим кодом с помощью нескольких ветвлений.

Ещё за этот день

2026-10-04