FlashPlayer10でのArrayとVector速度比較
FlashPlayer10用の開発環境を作ってみました。教科書はTargeting Flash Player 10 Beta with Flex SDK 3.0.x via haru-komugiさん
野良Flasherに関係あるのはFirst Things Firstと、Command-line Compierだけです。Flex Builderなんて知らない。念のためflex-config.xmlをflex-config-for-fp9.xmlにコピーしてから、FlashPlayer10向けに改変しました。新しいほうのflexsdk/binにパスを通してバージョン確認してみたところ、
C:\flex_sdk_3.0.1.1739\sandbox>mxmlc -version Version 3.0.0 build 1739
うーん、間違ってないんだろうか……。と思いつつはるこむぎさんのところにあった3Dサンプルをコンパイル。間違っていないようです。ついでに下記のようなVector(ジェネリクス)使ったプログラムもコンパイル通りました。
var v:Vector.<String> = new Vector.<String>(); v.push("ほげほげ");
おもしろいおもしろい。ついでに、VectorとArrayでどのぐらい速度が違うのか試してみました。下記の結果はArray使用→Vector使用です。
- 0から1000万までのintをpush: 1375ms → 937ms
- pushした値をfor文で回して加算: 4187ms → 188ms
- pushした値を全てpop: 406ms → 250ms
Vector.