Я разрабатываю симуляцию, в которой будут много объектов, постоянно обновляющихся, возможно, 30 раз в секунду. Представим себе, что у нас 1000 объектов, каждая из которых имеет скорость и, следовательно, позицию, которую необходимо обновлять каждый тик.Один актер для имитируемого объекта или актер-менеджер?
Итак, как бы вы реализовали это с использованием модели актера? Я не обязательно использую Erlang для этого проекта, но ради аргумента, давайте просто скажем, что я есть. У вас есть актер для каждого из этих лиц? Или у вас есть «менеджер», который поддерживает и обновляет список этих объектов?
Это правда, что Erlang процессы очень легкие: вы можете иметь сотни тысяч их существующих в то же время, но это не означает, что вы должны использовать его, что путь только потому, что вы можете. Например, создание шутерской игры, где все, включая пули, является собственным актером - безумие. Единственное, что вы будете снимать с такой игрой, это ваша собственная нога. Есть еще небольшая стоимость отправки сообщения от актера , а если вы слишком много делите задачи, вы сделаете вещи медленнее!
Таким образом, кажется, что менеджеры будут лучше. Или есть третий вариант, который я не вижу?