FastEvent

FastEvent: оптимизационный мод для Forge/NeoForge, который ускоряет систему событий: регистрация 10,000 слушателей быстрее примерно на 6.4%, а 10,000 отправок событий при 1,000 слушателях примерно на 24%.

Проект заброшен

Коротко говоря, подход к оптимизации по-прежнему применим, но Forge/NeoForge не позволяет моду изменять EventBus.

В отличие от классов из Minecraft или самого Forge, EventBus загружается не как часть игры, а как "библиотека", что делает невозможным изменение EventBus через Mixin или Transformer.

Это оптимизационный мод для Forge/NeoForge, который оптимизирует одну из самых фундаментальных систем Forge: систему событий.

Насколько быстро

Создать тестовый пример для каждой поддерживаемой версии Minecraft непросто, особенно когда система событий в этих версиях различается. Поэтому вместо этого я приведу отчёт JMH-бенчмарка из PR, который я сделал для проекта Cleanroom, где использовал тот же подход к оптимизации, что и FastEvent:

Регистрация 10,000 слушателей событий, отправка события 0 раз:

Примерно на 6.4% быстрее.

Регистрация 1,000 слушателей событий, отправка события 10,000 раз:

Примерно на 24% быстрее.

Как это работает

Внимание: технические подробности для гиков

Но генерация классов вносит дополнительное замедление. Чтобы сделать ещё быстрее, FastEvent заменил генерацию классов на конструирование лямбд, ускорив создание обработчиков событий. Ещё одно преимущество в том, что лямбда "скрыта", что позволяет JVM выполнять больше оптимизаций.

Если вы немного знаете Java, приведённые ниже примеры кода могут быть для вас более наглядными:

Как установить FastEvent

  1. В списке файлов выберите свою версию Minecraft и загрузчик. Установите этот загрузчик в профиль игры.
  2. Проверьте требуемые библиотеки у выбранного релиза. Скачайте их для той же версии Minecraft и загрузчика.
  3. Скачайте выбранный файл. Если это ZIP, извлеките из него JAR мода. В ZIP также находятся лицензия автора и сведения об источнике.
  4. Закройте игру и поместите JAR мода и необходимых библиотек в папку mods выбранного профиля. JAR распаковывать не нужно.
  5. Запустите выбранный профиль. Для русского текста выберите «Русский» в настройках языка Minecraft.
Где находится папка mods?

Откройте папку выбранной сборки в лаунчере и найдите mods. Если папки нет, создайте её. Для стандартной установки:

  • Windows: %appdata%\.minecraft\mods
  • macOS: ~/Library/Application Support/minecraft/mods
  • Linux: ~/.minecraft/mods

Если в лаунчере задана другая папка игры, используйте её, а не стандартный путь.

Версии и загрузки

Версии Minecraft и загрузчики указаны отдельно для каждого релиза.

РелизMinecraft / загрузчикФайл
1.2.0Оригинал автора2025-06-181.16.5ForgeСкачать ForgeОригинал автора37 КБ · ZIP: JAR + лицензия
SHA-2565207b4f85e32ee2a8ddc23f9fa327f397c194d30a853c0d8d69f288cb7fa9d5e
1.1.1Оригинал автора2025-05-141.19.2ForgeСкачать ForgeОригинал автора34 КБ · ZIP: JAR + лицензия
SHA-2568ed6fd67dd5c15bfe563d3ef8db9e0355159b146f3c50878c542217ad53dd824
1.1.1Оригинал автора2025-05-141.18.2ForgeСкачать ForgeОригинал автора35 КБ · ZIP: JAR + лицензия
SHA-256351ee35ef7d9e7295b8fb484c0b0817461b75504f18a28344128cbf541057931
1.1.1Оригинал автора2025-05-141.21.1ForgeСкачать ForgeОригинал автора34 КБ · ZIP: JAR + лицензия
SHA-256a05b61f712f5676526ed844bda6529d68073e3360fcc9d464b87ad8ee15149e0
1.1.1Оригинал автора2025-05-141.20.1ForgeСкачать ForgeОригинал автора34 КБ · ZIP: JAR + лицензия
SHA-256e5cd336d755ac1a02f913001887da7a0d61f76febf4d261ff92a825e56e41c0c

Источник и перевод

Источник: Modrinth, FastEvent.

Описание переведено на русский язык с помощью DeepSeek.

FastEvent: версии Minecraft