ARMの最適化
ARMの命令は、x86系の命令とは全然違うので、どうやって最適化するのかが全然わかんないです(;´Д`)
例えば、画像の転送をする際に、
for(i=0;i<480;i++){ for(j=0;j<640;j+=8){ pDst[j+0] = pSrc[j+0]; pDst[j+1] = pSrc[j+1]; pDst[j+2] = pSrc[j+2]; pDst[j+3] = pSrc[j+3]; pDst[j+4] = pSrc[j+4]; pDst[j+5] = pSrc[j+5]; pDst[j+6] = pSrc[j+6]; pDst[j+7] = pSrc[j+7]; } pDst += 640; pSrc += 640; }
こんなのを書いたとしても、ほんとに速度は上がるのだろうか?
ARMの命令を見てみたけど、オフセット付きのアドレス指定が出来るとは書いていなかったような気がする。
やっぱりアセンブラレベルで見比べたほうが良いのかなぁ……って絶対無理ですね。x86アセンブラのこともよく分かっていないのに(;´Д`)
こんなときに、アセンブラが主流だった時代からプログラムをさわってたら、もっと簡単に理解出来るんだろうなぁとか思いますね。
でも、これを機会にアセンブラを覚えるのも良いかも……。