Инструменты8 сентября 2026 г., 13:16 МСК🤖 Auto

FEX 2609: ускорение JIT в 2 раза и кэш на диске для ARM64

Вышел релиз эмулятора FEX 2609, обеспечивший двукратный прирост производительности в Geekbench и добавивший опцию кэширования JIT-кода на диск для устранения микрозадержек.

Баннер новости 7004

Двукратный прирост производительности JIT

Разработчики открытого эмулятора FEX (FEX-Emu) выпустили релиз 2609, сфокусировавшись на оптимизации механизма Just-In-Time (JIT) компиляции. Ключевым достижением стала оптимизация инструкции PMULHRSW, что позволило увеличить показатели в бенчмарке Geekbench. По словам авторов, в некоторых сценариях, включая игровые, прирост производительности достигает 2x.

Также ускорена система обнаружения самовоспроизводящегося кода (self-modifying-code) в режиме «full», что критически важно для стабильной работы игр на движке Unity. Дополнительно разработчики снизили уровень блокировок (lock-contention) в JIT, позволяя нескольким потокам компилировать код параллельно с меньшими задержками.

Новая функция: кэш JIT на диске

Важным нововведением стала поддержка кэширования скомпилированного JIT-кода на диск. Это решение направлено на устранение «статтеров» (микрозадержек) при повторных запусках игр и приложений. Функция активируется через переменную окружения FEX_DISKCACHE=1 или через JSON-конфигурацию.

На данный момент кэш не имеет ограничений по размеру или механизмов защиты, однако разработчики анонсировали добавление этих функций в будущих обновлениях.

Технические детали и совместимость

FEX продолжает оставаться ключевым инструментом для запуска Linux x86_64 бинарных файлов (включая Steam и Steam Play/Proton) на системах с архитектурой AArch64. Обновление также включает переработанный логотип проекта.

Параметр Описание изменений в FEX 2609
Производительность До 2x ускорение в Geekbench и играх за счет оптимизации PMULHRSW
Unity-игры Ускорено обнаружение самовоспроизводящегося кода
Многопоточность Снижена блокировка потоков при параллельной JIT-компиляции
Кэширование Добавлен диск-кэш (переменная FEX_DISKCACHE=1) для устранения задержек при повторных запусках
Платформа Linux x86_64 на ARM64 (AArch64), поддержка Steam/Proton

Почему это важно

Для пользователей ARM64-устройств (включая портативные консоли и одноплатные компьютеры) FEX становится всё более жизнеспособной альтернативой нативным решениям. Двукратный прирост в синтетических тестах и устранение задержек при загрузке кэшированного кода напрямую влияют на игровой опыт, делая эмуляцию x86-приложений на ARM более плавной и предсказуемой.

Источник: Phoronix ↗