How fast is Go? Simulating particles on a smart TV
Go позволяет эффективно симулировать миллионы частиц на сервере и транслировать результат клиентам в виде видео, избегая отправки данных каждой частицы. Ключевая идея — рендерить симуляцию на сервере и передавать клиентам только сжатые кадры, что делает нагрузку независимой от числа частиц и зависящей лишь от разрешения. Для HD-видео (1920×1080) несжатый кадр занимает ~2 МБ, но сжатие H264/H265 сокращает его до ~260 КБ, что при 24 кадрах в секунду близко к обычному видеопотоку.
Это выгоднее, чем отправлять данные частиц: даже при оптимизации (8 байт на частицу) миллион частиц потребует 8 МБ на кадр — в 4 раза больше, чем несжатое изображение. Такой подход обеспечивает совместимость с любыми устройствами, включая Smart TV, поскольку клиенту нужно лишь воспроизводить видео на canvas, без тяжёлых вычислений. Go справляется с этой задачей, демонстрируя производительность, достаточную для многопользовательских симуляций в реальном времени.