2016年8月26日金曜日

リテラルの外部化は、もう、してもしなくても良いようです

用途・目的
ループ処理を行う場合、リテラルを外部化すると処理が高速化できる、という記事を数年前に読んだ当時に自分の環境でもテストした結果、確かに効果があったので、それ以来ずっと外部化していたのですが、同時に「処理系が賢くなれば、リテラル最適化は処理系が勝手にやれる筈…変数を使うやり方は余計な宣言がある分、逆に遅くなってしまうのでは?」とも思っていました。
気にするほどの差ではないことは経験的に分かっていましたが、気になるタチなので確認してみました。

結論としては、現代のブラウザやHTAではリテラルを外部化してもしなくても速度は変わらないようです。

下記ソースのループ1は普通のループ処理で、ループ2は外部化したループ処理です。
ソース
サンプル


chrome52.0.2743.116の結果



ie11.0.9600.18426の結果



htaの結果


0 件のコメント:

コメントを投稿