リンクされたエンティティのコレクションを格納するリンクリストクラスがあります。私の匿名機能はどのように処理されますか?
私はこのクラスにiterate()
メソッドを追加しました。これは私が懐疑的です。それはEntity
のインスタンスだけを受け入れるはずの唯一の引数として関数を受け入れます。
すなわち
list.iterate(function(entity:Entity)
{
trace(entity.id);
});
私はこのケースでiterate()
に与えてくれた関数に何が起こるかわからないので、私はこの方法が心配です。そのように手動で私の反復を行うことと比較すると、私がやっていることは全く私のゲームのパフォーマンスやメモリ使用量を傷つけるでしょう?:
var i:Entity = list.first;
while(i != null)
{
trace(i.id);
i = i.next;
}
この上の任意の情報が認識されます。
変更前と変更後のベンチマークはありましたか? – jweyrich
たとえば、各方法を100万回実行してベンチマークを行い、時間を比較することができます。私はテストを実行するためにFlash Builderを持っていませんが、反復メソッドがもっと遅くなることは間違いありません。 – sch
反復はどのように実装されていますか? – sch