Let's start Scheme

2012-04-19

鈍足な正規表現だった・・・

なんとなく正規表現のベンチマークをGauche (0.9.2)、mosh (0.2.7)、Sagittarus(HEAD)の3つでとってみた。
正規表現は以下のページのものを使用。
思い立ったが吉日 (正規表現・続き) - Island Life

まぁ、結果はGaucheより速く、moshより遅いといったもの。moshは鬼車を使っているので、鬼車が速いのだろう。ただ、Gaucheは次のバージョンで速くなるらしいので、Sagittariusは鈍足な正規表現を持っていることになる。(特に最適化してないし、リニアタイムであることくらいしか保障してないからしょうがないのだが)。

どうでもいいのだけど、string output portとbytevector output portの実装が今まで腐っていたので直した。というか、上記のコードを移植するに当たって、直さないとメモリが尽きるというあほみたいな問題があった。単純な修正だが結構効果があって、bytevector output portで約2倍の速度を出すようになった。メモリも無駄に枯渇するということもなくなったので、いいことだ。

No comments:

Post a Comment