私は、おそらく 1 秒間に 30 回更新する多くのエンティティを特徴とするシミュレーションを開発しています。1000 個のエンティティがあり、それぞれに速度があり、その結果、ティックごとに更新する必要がある位置があるとします。
では、アクター モデルを使用してこれをどのように実装しますか? このプロジェクトで必ずしも Erlang を使用しているわけではありませんが、議論のために、使用しているとだけ言っておきましょう。これらの各エンティティのアクターはありますか? それとも、これらのエンティティのリストを維持および更新する「マネージャー」アクターが必要ですか?
Erlang プロセスが非常に軽いのは事実です。同時に何十万ものプロセスを存在させることができますが、できるからといって、そのように使用しなければならないという意味ではありません。たとえば、弾丸を含むすべてが独自のアクターであるシューティング ゲームを作成することは狂気です。このようなゲームでシュートするのは自分の足だけです。アクターからアクターへのメッセージの送信にはまだわずかなコストがかかります。タスクを分割しすぎると、処理が遅くなります!
そのため、マネージャーの方が優れていると思われます。または、私が見ていない 3 番目のオプションはありますか?