あおきです。

  In mail "[ruby-list:22203] Re: rd2man"
    Toshiro Kuwabara <toshirok / yb3.so-net.ne.jp> wrote:

> Toshです。

> >> cparse.so使わないとどれだけスピード変わって来るんでしょうか?
> >> ちょっと興味あります。
> >
> >純粋にパーザ部分(アクションを除く)だけだと 10 倍から 20 倍違います。
> >でもスキャナとアクションがボトルネックになるので、実際には倍も
> >かわらないです。体感ではわからないかも。
> 
> なるほど。しかし、RDtoolの場合だと倍違うとruby-man.rdの変換が
> 30sec -> 60sec ですから、馬鹿になりませんねぇ。

試してみました。パースの後で exit して計測してます。

c     17.71user 0.04system 100%CPU
ruby  24.20user 0.08system 99%CPU

とゆーわけで、約 25% の高速化でした。パース以外の部分を加えればさらに
差は小さくなりますし、可搬性も考えれば十分妥協できるレベルだと思います。


> 一度デバッグの都合でRubyで書いた偽strscanみたいの(Stringオブジェクトを
> 山と生成してしまう)がCVSのリポジトリに残ってたりしますが。
> 多分遅くて使い物にならないでしょうねぇ。(^^;;

ぼくも同じようなのを昔書きましたが、ちょっとでかいファイルに使うと
一瞬でスワップが消滅するんですよね。さすがにあれは使いものにならなかった。
-------------------------------------------------------------------
あおきみねろう