Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」


Since:2000/05/16
Top -> ProgramTips -> HSP高速化Tips

HSP高速化Tips



長い事HSPでプログラミングをしていると、
「この処理、もうちょっと早く出来ないかなぁ・・・。」とか思う時があります。(^^;

どうやら、HSPはソースコードの記述の仕方によって若干の速度の違いがあるようですので、
実際に、それぞれの処理の速度を計測してみる事にしました。


同じ処理を80000回ループした場合の最高処理時間(単位:1/1000秒)
命令 処理時間 命令 処理時間 命令 処理時間 命令 処理時間
a=1 160 a="" 199 if a or 0 251 print "" 5795
a==1 161 a="123456789ABCDEF" 219 if a & 0 224 mes "" 5650
a=1,1 260 a=="" 199 if a && 0 265 pos 0,0 240
a.0=1 190 if a=0 217 if a | 0 254 line 0,0,0,0 15407
a.0=1 : a.1=1 344 if a==0 217 if a || 0 294 color 0 3329
a+=1 167 if a!=0 225 if(a=0) 277 color 0,0,0 3373
a-=1 166 if a<0 223 dim a,64 319    
a=a+1 231 if a<=0 219 dim a,32,2 386    
a=a-1 231 if a=0 : else 240 sdim a,64 275    
a=1+1 212 if a and 0 225 sdim a,32,2 345    


上記の表は、「同じ処理を80000回ループした時の処理時間を計測する」
(実質的には、8000回ループさせた実行結果を10回計測した時の合計時間)
という動作を何度か繰り返した時の、最も早かった処理時間を1/1000秒単位で記載しています。
この表で、以下の事が分かると思います。

変数関連 IF文 その他

■言い訳

著者のPCがロースペックである為に、
十分な結果が得られませんでした。(^^;

ですので、もし時間に余裕があり、なおかつPCのスペックに自身がある方は、
自分で計測してみる事をおすすめします。

あっ、ちなみに、今回は自前のHSPベンチソフトを使用して計測しました。
宜しければ参考にしてみてください。ソースはこちら!→ダウンロード(2KB)
※loadlib及び、llmodが必要。

Top -> ProgramTips -> HSP高速化Tips
▲このページのTopへ