« Ruby or Rails CheatSheets | ChartDirector for Ruby »

2006.08.27

Hpricot

HpricotというRuby用のHTMLパーサに注目していたのですが、 最近ちょうど使いたい場面があったので使ってみました。 まず、Hpricotはスキャン部分がC言語で書かれていて、類似のHTreeより高速だということですので両者を比べてみました。

require 'benchmark'
require 'open-uri'
require 'rubygems'
require 'hpricot'
require 'htree'

str = open('http://www.ruby-lang.org/en/').read

n = 100
Benchmark.bm {|x|
  x.report {n.times {HTree(str)}}
  x.report {n.times {Hpricot(str)}}
}

結果は次のようになり、たしかにHpricot(下の段)の方がかなり高速なようです。

     user     system      total        real
11.773438   0.671875  12.445312 ( 13.631620)
 4.750000   0.359375   5.109375 (  5.644100)

使い方等についてはwikiHTMLパーサ Hpricotにまとめました。 使い勝手もかなり良く、おすすめです。

Comment & Trackback

Comments and Trackback are closed.

No comments.