Not only is the Internet dead, it's starting to smell really bad.:2009年07月02日分

2009/07/02(Thu)

[NetBSD][GSoC] Efficient wide character regular expression

@

uebayasiさんにメールで教えていただいたのだけど(いつもありがとうございます) この記事
要は自分で書くのが難しいことに気付いたので TREちう実装をmergeするということらしいです。
例年のSoCらしくなってまいりましたwww

30秒ほど眺めただけだけど、mbrtowc(3)で変換して内部wchar_t(=tre_char_t)で処理し
性能対策としてMB_CUR_MAX=1の時だけmbrtowc(3)は使わないちゅー実装みたいね。

こうなるとnvi-1.81のwregex(Henry Spencer regexベース)にmultibyte regexの
皮を被せた場合に比べて、どんぐらい性能優位なんだろかちゅーとこかな。

まぁCitrus的には各encodingに最適化されたregex実装をsetlocale(3)で切り替える
(今そーゆー実装は鬼車くらいか)ちゅー夢はありますが(夢見てるだけー)
とりあえずはこの手のwchar_tベースの実装が先にあるだけでもありがたいです。

後はgrep is very slow in UTF-8ちゅー話題がMLで定期的にループするのを我慢すれば以下略

LC_COLLATEは実装されてないから[A-Z]以下略