BT

Fibersの総まとめ:NeverBlockがRailsコンパチブル、「Poor Man's」 Fibers For 1.8

| 作者: Werner Schuster フォローする 9 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年9月14日. 推定読書時間: 2 分 |
NeverBlockはライブラリであり、非同期データベースアクセスにRuby Fibersを使用する。これまで、Fibersを使用するには、NeverBlockはRuby 1.9で実行されなければならなかった。NeverBlockの新リリース(リンク)により、Fibersの機能であるバックポートを使用することで問題を解決する。近ごろAman Gupta氏は、「Poor Man's Fibers」(NeverBlock GithubリポジトリのFiber実装)(リンク)と呼ばれるRuby Threadsに基づいてFiber実装を公開した(リンク)

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

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT