ループ用変数は最初に宣言すべき?

getTime();
for(var i:int=0; i < N; i++){

}
log(getDiff());

100000000回の繰り返しで464ms、関数冒頭にiの宣言を移動したら462ms。気にしない方が良さそうだ。3番目までに関してはgetlocal3なんてインストラクションがあるから速いかもと期待したんだけど、ファイルサイズがちょっと縮むだけのようだ。

ちなみにNを100000000に置き換えても462ms。ローカル変数の参照は十分に速いのでマジックナンバーを直書きすることで早くしようなんて企みはうまくいかない。NをintじゃなくてNumberにすると800ms、iをNumberにすると1048ms。整数で十分なところは整数を使いましょう(当たり前すぎる)
iをグローバルで宣言したら750msになった。まぁ、頻繁にアクセスする変数はローカル関数にしようと言うこと(これも当たり前すぎる)
iをフィールドにすると523ms。Nをフィールドにすると462ms。フィールドに対する読み出しアクセスはローカル変数に対するそれと同じくらい速い。意外。一方書き込みはちょっと遅い。でもまぁ気にするほどのことでもないなぁ。高速化するならもっと削るべき所がありそう。