Как быстро работает Go: результаты симуляции миллионов частиц
Команда Go for Devs подготовила интересный эксперимент, в котором проверила, как быстро работает язык Go. Созданная симуляция, включающая миллионы частиц с поддержкой мультиплеера, была написана с акцентом на производительность, используя только CPU. Результаты оказались неоднозначными: Go продемонстрировал легкость в масштабировании до сотен клиентов, но уступил Rust в вычислительных задачах.
Основная задача заключалась в создании сервера, который бы эффективно обрабатывал данные о частицах, при этом клиентская сторона оставалась простой веб-страницей. Для достижения детерминизма, ключевого для мультиплеерных игр, использовались подходы, основанные на графическом программировании.
В результате, Go смог продемонстрировать симуляцию до 2.5 миллионов частиц с частотой 60 кадров в секунду, обслуживая до 300 клиентов. Несмотря на некоторые ограничения, такие как отсутствие поддержки SIMD, язык все же удивил своей простотой и доступностью, что делает его привлекательным выбором для разработки веб-приложений.
