したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

【初心者歓迎】プチコンなんでも相談室【質問専用スレ】

735名無しさん:2015/03/29(日) 00:24:00 ID:hbYUR6ZU
100万ループしてみたので報告
--------------------
テスト内容
ループごとに乱数に対応した文字を追加していくプログラム。乱数は0-3と150-153の2種類で試した。
ループ回数は100万回
対象はON(0-3)、IF(0-3)(150-153)、CHKLABEL(0-3)(150-153)、ON+DEF(IF)(150-153)の6パターン
ON(150-153)は現実的じゃないので、代わりにON+DEF手法で調べた
ON+DEFとは外部関数CHKNUMでONで調べる乱数を0-3に修正する方法

処理時間はMAINCNTの差で計測
MAINCNTは実行からのフレーム数を数えるシステム変数(fromマニュアル)
環境は旧3DS、テスト回数は1。
--------------------
結果
処理抜きループ:389
ON:746(0-3)
IF:1055(0-3)1128(150-153)
ON+DEF(IF):2139(150-153)
>>730CHKLABELそのまま:4646
>>730CHKLABEL修正:3397(0-3)
>>730CHKLABEL修正:3784(150-153)
------------------------
単純なONは高速。IFの半分程度の時間で終わった。文字列検索は時間がかかるようだ
しかし任意の数を想定した(150-153)の場合IFが最も速度が早くなった
ON+DEFを使った変換はスタックが増えるせいか6倍程度時間が掛かった
一時文字列(>>730の"@"+STR$)をあらかじめ文字列変数に代入するよう修正すると早くなった
その場合処理時間はONの9倍程度掛かり、文字列が増えると時間も伸びた

ONは条件さえ整えれば高速に動作する。任意の条件だと速度が落ちる
IFは汎用性が高く処理速度も良好。しかし保守は大変
CHKLABELは保守が楽だが相応に処理速度は遅い(IFの5倍)ラベルの文字列が長くなるとより遅くなる


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板