From: Aaron Patterson Date: 2009-09-08T14:36:56+09:00 Subject: [ruby-dev:39258] Re: [Bug #2060] DLをCからRubyに変換する事を勧めます アーロンです。 2009/9/7 NARUSE, Yui : > 成瀬です。 > > 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/