TOP > プレオアート > FLASH > 変数1万個宣言テスター


PRECIOUS ORION - プレオアート - FLASH
変数1万個宣言テスター Ver. 1.1
AS2.0 FLASH (転載フリー)
ダウンロード: ここを右クリック→「対象をファイルに保存」
このFLASHでは、ActionScriptのプログラムにより、多回数のfor文を実行し、パソコンやFLASHプレイヤーの処理の限界をテストするプログラムです。for文の回数を指定することが出来ますので、数万回、数十万回のループにかかる負担をテストできます(プログラマ向け)。

FLASH(AS2.0)でRPGを作っていて、所持アイテム情報や宝箱取得ログの記録に数百個もの配列やタイムラインの変数を作らねばならず、ふとFLASHではいくつまで変数が宣言できるのだろう、環境によって限界があるんじゃないか、落ちたりしないのだろうか、と思い、テストプログラムを作ってみました。宣言・代入するのは何万個でもfor文で簡単にできますが、途方もない回数のfor文はちょっと不安です。大量に変数を宣言することで現れる影響、多回数ループ時のパソコンの負担はいかなるものかと気になったので実験のために計測プログラムを作ってみました。
  1. 最初の画面のテキストボックスでループする回数、Xの数値を指定します。
  2. 実行ボタンを押すとX回(デフォルトでは1万回)のfor文を実行し、連番の変数『hensu1〜hensuX』に1〜999の範囲にあるランダムな乱数を格納します。したがって乱数取得(Math.random)の処理も瞬時にX回分行われます。
  3. 結果画面では、X回のループ処理にかかった時間が秒数で表示されます(getMilliseconds()を使い計測)。ちなみに私の環境では1万ループで0.7秒、5万ループで3.6秒といった感じでした。意外と迅速ですね。
  4. また、画面にはメモリされている変数の一部が表示されており、処理が正常に行われたかどうか(乱数の格納)を確認できます。
  5. 画面左側にある「1の倍数〜9の倍数」それぞれのボタンをクリックすることで、指定倍数に該当する変数名("hensuXXXX")の変数の内容が1加算され(++)、条件に当てはまる特定変数のみを変化させます。この画面には表示されていない指定倍数の変数も動きます(++)ので、より小さい倍数指定のほうが処理対象が増えて反応が遅れます。実際にはX個もの変数がメモリされていることもお忘れなく。
そのうち、代入する変数の算出法指定やループの流れを様々カスタマイズできるようにして実験の自由度を増やす予定です。

(2008/05/17 Update)
BACK: プレオアート