アーロンです。

2009/9/7 NARUSE, Yui <naruse / airemix.jp>:
> 成瀬です。
>
> 2009/09/08 10:53, Aaron Patterson wrote:
>> 私としては、DLにlibffiを使用して欲しいです。
>
> ffi を入れ、dl はその互換ラッパとするーなんていう話自体はあります。
> が、Rubyで求められる、年1リリースでも陳腐化しない程度に枯れている、
> という要件にあうにはもうしばらくかかるかなという印象です。
>
> 1.9.5 か 2.0 あたりでは入ることになるんじゃないかなと思ってはいますが。
>
> あと、現状 ffi って Ruby-FFI は Windows 対応は experimental で、
> libffi は本家に Windows 対応が取り込まれていないのでダメですね。

まず、私が、Ruby -ffi
をnokogiriと一緒に使用した時に発見した事は、全てのプラットフォーム(windowsに関わらず)はruby ffi
チームによって実験的に扱われている様に見えました。

それと、私がノコギリを書き始めたとき、dlを使用しましたが、当時、dlは私が必要としている機能を搭載していませんでした。(ごめんなさい、実際今となっては何の問題だったかは思い出せません)

http://github.com/tenderlove/nokogiri/blob/8ab1d6fdc32de18a385d6fcee8266926f89f5817/lib/nokogiri/dl/xml.rb

私個人としては、dlにスイッチしたいのがやまやまなのですが、しかしdlにlibffiを利用してもらいたいのが本心です。

>> Rubyの方が管理しやすいのと、CよりRubyの方が遅くなるようですが、それで
>> も、私が変更したコードの方がまだ速いです。
>
> 「私が変更したコードの方がまだ速い」これは何と何の比較ですか、
> また、ベンチマークはありますか。

ベンチマークは以下の通りです。

http://gist.github.com/182711

それぞれグラフ化されたベンチマークで、
ほとんどのパッチにあるコードはさほどオリジナルのcとの差がないのですが、attr_accessor だけは、私のコードの速さが簡単に見比べられます。

宜しくお願いします。

-- 
Aaron Patterson
http://tenderlovemaking.com/