efficient as3

Tips on how to write efficient AS3 >> Lost In Actionscript (2008/09/28の記事)の日本語訳。
既にこっちでも検証済みの項目はあると思いますが、一応まとめとして要点を意訳しておきます。
詳細を知りたい場合は原文を。あと、間違いがあったら指摘してくれるとうれしいです。

Array & Object constructing
new Array() と new Object() は [] と {}より3倍遅い。( これは既に結構知られてる事かも )

Index Number type for Arrays
AS2.0における list[int(0)] は list[0] より速くはない。

Create Array vs. updating Array
特に長いループ中では配列やオブジェクトを作り続けないようにしよう。

Nulling Array vs. Splicing Array
配列の要素を削除したい時は Splice の使用を避け、インデックスを null にしよう。

Nulling Object vs. Delete Object
オブジェクトの要素を削除するのは null にするよりextensiveだ。( expensiveの間違い? わかりません; )
Dictionary は弱参照で使おう。( new Dictionary(true) と引数にtrueを指定すればOK。デフォルトはfalse )

Nesting Loops
ループをネストするのは遅くなるからせいぜい2まで。あと、ループは for を使おう。

Inline code vs. function references
enterframeや長いループ中での関数への参照を少なくしよう。
(ループ中に多くの関数を実行するなってことかな)

Arguments vs. variable referencing
関数の引数はオブジェクト変数を参照するより遅いから、なるべく引数の数は少なくしよう。

Function apply scoping
Function.applyはちょっと遅いから使わない方がいいよ。

けっこう知らないことが多かったです。最後のやつなんて使ったことすらないという;
とりあえず参考までに。

あわせて読む:

One thought

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です