2009-04-21

SSE2 と SSSE3の最適化できる場所

今更ながらSSE2のベンチデータをとっているんだけど、Athlon 64は遅い。PhenomだとSSE2は高速化しているんだけど。また、IntelでもPentium Mだと遅いんだよね。MMXを2回実行した方がまだ速いって。

ってのも、Image Decoderの最適化を考えていて (http://wontfix.blogspot.com/2009/01/mozilla-nosse2.html)、PNGについては、いくらかのパフォーマンスアップ (Alpha値を持っている場合でARGBへの変換が約2倍) を得られる。それ以外でも、SSSE3のシャッフル変換使えば、Alpha値を持たないPNGや田の画像形式でもパフォーマンスアップを見込める。SSSE3のインラインアセンブラやビルトイン関数は、VC++2008からだから、_emit使って直に書く必要があるけどね。

もう少し整理したら、レビュー投げるつもり

それ以外に、SSE2での最適化で有名どころといえば、UTF8->Unicodeの変換。たぶんこれはMozillaとして考えてるとは思うけどね。

the u8u16 high-speed UTF-8 to UTF-16 conversion software
http://u8u16.costar.sfu.ca/
http://www.cs.sfu.ca/~cameron/ppopp074-cameron.pdf

0 件のコメント: