ThreadsでFibersをエミュレートするには、メモリの使用やスケジューリングオーバーヘッドということになると、実際のFibersよりも多くのリソースを使用する。しかしながら、NeverBlockはどっちみちFibersをプールする。それによりバックポートを使用することの影響を制限する。JRubyはRuby 1.9サポートの一部として、Fibers(JRuby Fiber 実装向けのGitHubリポジトリ)(リンク)へ同様の(試験的な)アプローチを使用する。JRubyのFibers実装はまた、すべてのFiberをThreadにマップするので、「Poor Man's Fibers」と同様のパフォーマンス特性がある。NeverBlockの作成者の一人であるMuhammed Ali氏は、FibersとThreadsのコストを比較検討した(リンク)。それにより、Ruby 1.9のFibersは作成時に必要なメモリと時間がかなり少ないことを示している。
NeverBlockの新リリースにおける別の機能は、Rails向けのビルトインサポートである(リンク)。
Ruby on Railsフレームワーク向けのエンドツーエンドのシームレスなサポートである。Railsへのサポートの追加はdatabase.ymlの行を修正する のと同じくらい簡単であり、またenvironment.rbファイルに2行追加するのと同じくらい簡単である。
さまざまなサーバやデータベース向けに行を追加するための、詳細情報が関連付けられた掲載記事にのっている。
ますますFibersが注目され(リンク)、Ruby 1.9.1が安定してきた(リンク)状況下で、Fibersを使用することを検討しただろうか?
原文はこちらです:http://www.infoq.com/news/2008/09/poormansfibers-rails-neverblock