読者です 読者をやめる 読者になる 読者になる

元派遣プログラマの自称技術系ブログです。雑記とか自作のオープンソースプロジェクトの話とか。
Javaとか組込とかできます。お仕事ください。

速度計測

最適化の方針決めるために、WMの基本演算速度を確認してみた。

浮動小数点計算を1000万回実行させて、その処理時間を[ms]で出してみると…

Win32はAMD64 5200+
WMはWillcom WS007SH

Win32(Dbg) WM C++(Dbg) WM C++(Rel) WM C#(Rel)
int加算 16 477 1024
int積算 31 501 1027
int除算 187 2970 4955
double加算 47 4650 6652
double積算 63 2240 3805
double除算 125 2170 3755
sin 671 225840 234850
cos 719 239540 249080

計算速度は約1/200らしい。

仮にネイティブ化しても、2倍以下の速度向上しかないのか。

アホみたいにコストのかかる三角関数を整数処理するように変更して、あとはアルゴリズム最適化…、ってとこかな。

ネイティブ化は後回しで良いや。