制作日記

こういうの作った方が、逃げにくいじゃない

重さの検証

これをするなら、先に中身の処理を推測してみたら良いんじゃないかしら

triggerの判定
1:triggerall判定 偽なら終了
2:triggerx判定  偽ならx+1の判定 真なら終了

trigger判定の中身
1:条件の参照
2:条件の真偽判定 真ならループ、偽なら終了

重いのは1つ目の参照だと思うのよ
つまるところ、なるべく&&等を使って1つにまとめたほうが動作はかるくなるんじゃねーの?と

triger1=1を10000個並べたnullステとtrigger1=1&&1&&1&&1&&1を2000個並べたnullステを比較してみた
結果、前者のFPSは2、後者は200

後者は最適化されてるかもしれないじゃないか、という意見があるかもしれない
ということで
var(55)~var(59)に1を代入した上でtrigger1=var(55)&&var(56)&&var(57)&&var(58)&&var(59)を2000個並べてみる
結果、FPSは170前後

変数参照の処理が増えても、まだかなり軽い
思った以上にtriggerの参照は重いみたい

次triggerallの検証
triggerall=1を9999個とtrigger1=1を1個並べる
FPS 2.2
triggerall=1とtrigger1=1を5000個ずつ並べる
FPS 2.5
trigger1=1を5000個並べたnullステを2個用意
FPS 4.5
triggerall=1を5000個、triggerx=0を1~5000まで1個ずつ
FPS 2.7
↑を7500個と2500まで一個ずつに
FPS 2.5
triggerall=1を5000個、triggerx=1 triggerx=0を1~2500まで1セットずつ
FPS 2.7

triggerallが少しだけ重そう
triggerが多くなるほど、trigger参照にかかる時間が増えてるのかな?
増えてるのは次に参照するtriggerを探すのにかかる時間?

コメントの投稿

非公開コメント

プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク