なんともアホなロジックを組んだときに
体感レベルで遅くなったのがわかったので
(HSPerには常識かも知れないけど)メモリ操作はコストが高いんですね。
いや、PCの性能のせいかもしれない、そうだ、そうに違いない。
そんな期待を込めて、測定器つくったので・・・みなさんの結果教えてください。
#uselib "kernel32.dll" #cfunc timeGetTime "timeGetTime" alloc_mem=64 measure_times=10 sdim log,1024 repeat alloc_mem*=2 if alloc_mem > 512 : break sum=0 mes ""+alloc_mem+"MB で 測定中..." repeat measure_times:bef=timeGetTime():sdim buf,1024*1024*alloc_mem:sum+=timeGetTime()-bef:loop:ret=sum/measure_times log + "メモリ確保("+alloc_mem+")MBの速度は平均: "+ret+"ms (lower is better)\n" loop cls:mesbox log,640,480
あたしの場合はこんな感じでした。
メモリ確保(128)MBの速度は平均: 49ms (lower is better) メモリ確保(256)MBの速度は平均: 101ms (lower is better) メモリ確保(512)MBの速度は平均: 198ms (lower is better)