Подтвердить что ты не робот

Как насчет производительности Haskell GC для приложений в режиме реального времени, таких как игры?

Поскольку я понял, что логика правил игры должна обрабатывать огромную сложность, я рассматриваю возможность использования нестандартного языка в игровом поле в качестве языка игры script. Причина в игре script представляет сложную логику с меньшим количеством кода. Поэтому требуется очень хорошо отвлеченный язык.

Но в наиболее хорошо абстрагированных языках используется GC. И, как правило, GCs делают загрузку процессора. В основном он откладывает операцию очистки памяти и делает это сразу. Очень важна для графики в реальном времени, включая игры и графический интерфейс.

AFAIK, Haskell GC немного отличается от других языков, основанных на GC, что является причиной неизменяемого атрибута. Трудно себе представить. Я не мог найти этот документ подробно.

Чем отличается? И действительно ли это пакетный пакет для длительных программ? (хорошо распределенная нагрузка со временем, ручная полная команда GC может быть вызвана для каждого тика)

4b9b3361

Ответ 2

Возможно, вас заинтересует в этом блоге Саймона Марлоу о перемещении GHC из коллекции stop-the-world в нечто более параллельное периоду паузы более подходит для приложений в режиме реального времени, таких как игры.

Я не тестировал профиль латентности GHC самостоятельно, но, насколько я понимаю, эти периоды паузы в 0.0007мс могут показаться маленькими, но они пропорциональны размеру кучи, который является крошечным для этой игрушечной программы tic-tac-toe, так что настоящие кучи и времена пауз будут на порядок больше.

Ответ 3

Вам может быть интересна коммерческая игра Haskell, Nikki и роботы, выпущенные в 2011 by Joyride Labs.

enter image description here

У них, похоже, нет проблем с сборщиком мусора.