Inner-most の table 構造の検出
内側に入れ子の table 構造を含まない2×2以上の table 構造を html から検出するプログラムを書いた。ruby の正規表現を用いたバージョン (rb td2)と、用いないバージョン (rb td1) と、C 版 (rb td1 の port) を比較してみる。やはり C が速いが、ruby の正規表現無し版もそんなに悪くない。
c td 1000 0.570000 0.000000 0.570000 ( 0.571921) rb td1 1000 1.060000 0.000000 1.060000 ( 1.058235) rb td2 1000 2.670000 0.010000 2.680000 ( 2.685026)
ruby の C拡張ライブラリは、データ構造に ruby の配列や文字列が使えるので、ruby からあまりストレス無く port することができる。ruby のデータ構造を経由していることで、速度的に不利な点もありそうだが、gcc がきっと頑張ってくれるだろうから、あまり気にしないことにしよう。