Оптимизация генерации ресурсов в Java, три Ryzen и 225 замеров

Почему ручное разбиение задач оказалось быстрее parallel().collect() в большинстве наших тестов.Привет, Хабр!Меня зовут Юрий, и уже десять лет я разрабатываю The Great Tribes — пошаговую 4X-стратегию, в которой игроку...
Will Anthropic have the best AI model at the end of October 2026?
В сфере искусственного интеллекта произошло заметное событие. Почему ручное разбиение задач оказалось быстрее parallel(). collect() в большинстве наших тестов. Меня зовут Юрий, и уже десять лет я разрабатываю The Great Tribes — пошаговую 4X-стратегию, в которой игроку предстоит провести свою цивилизацию от первобытных племён до космической эпохи.
Игра создаётся на Java с использованием LWJGL и собственного игрового движка. Мы не используем Unity или Unreal Engine: за годы разработки у проекта сформировались собственная архитектура, система процедурной генерации мира и довольно специфические требования к обработке больших карт. Сегодня хочу рассказать об одной небольшой, но интересной оптимизации.
Мы решили ускорить генерацию природных ресурсов, написали три реализации одного алгоритма и протестировали их на трёх компьютерах с процессорами AMD Ryzen. Результаты оказались любопытными: более компактный вариант с parallel(). collect() в большинстве измерений уступил реализации с ручным разбиением массива на части.
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.






