06/04/28 00:41:23
SSEはレジスタが広いけど、
汎用レジスタで最初の4byte一致したら続きを調べるってすれば実質変わらんしなあ。
「特定のhex列」の登場頻度が高いなら別だけど。
あ、でもこれもSSEで並列にやればいいんだ。hexは1/2バイトなのも考えて。
「特定のhex列」のバイト数は?
2バイト単位くらいで比較して、4bitシフトしてまた比較。
一致するものがあったらそこを普通に調べる。
これなら数倍比較コストが減るんじゃないか。
#まあ、メモリ帯域ネックから高速化はしないと思うよ。
あとはキャッシュラインをまたぐときに気をつけること。ここもうまくやればSSEが有効か?
ていうかCで書いて速度が足りないから>>154で質問したんじゃないよね?
普通にCで十分な速度だと思うよ。