toge's diary

コンピュータ関連の趣味をつらつらと。

SSE化は労力に見合うのか?

ということで昨日に引き続き実験。
同じルーチンを1000回実行したところ、だいたい2.5倍速くなりました。
C++ルーチンがsqrtで精度の悪い近似値を使っていることと、労力を考えると及第点ですね。
(sqrtをstd::sqrtにしたら2.7倍になりました)

一回条件分岐を飛ばしている所がある分速くて当然なのですが、
逆にまだペアリングとか全く意識していないので、どっこいどっこいかなと思います。
まずは残りの部分を実装しないと。
内積と条件分岐がそれぞれ2回出てくるので、結構影響が出るはず。