2008-03-21から1日間の記事一覧

Search Non ASCII with SSE2

最近はほとんどの x86 CPU が SSE と SSE2 をサポートしているので、SSE2 も使ってみましょう。やってることはワード単位の場合と大して変わりません。ちなみに、速度は 10000 文字を 1000 万回で、上記のワードごと 25 秒に対し 20 秒・・・、あまりかわり…

Search Non ASCII with words

通常上のようなケースではベクトル化されないので自分でやります。具体的にはバイト列を 1 バイトごと調べていたのを、ワード単位で判定するようにします。アライメントを揃えないと落ちたり遅くなったりするので前処理と、端数対策で後処理を。これで 1000 …

Search Non ASCII with bytes

ASCII Compatible な encoding の文字列に、ASCII 文字以外が含まれているかどうか検索するという問題。Ruby においては ASCII のみの文字列は ASCII 互換 encoding の文字列と結合できるので重要な問題です。普通に書くと以下のようになるでしょうか。しか…

String Optimization

最近の趣味は文字列処理の高速化なんですが、それについてメモがてら。