From: Shugo Maeda Date: 2007-05-28T11:54:04+09:00 Subject: [ruby-dev:30828] Re: Supporting Fiber 前田です。 On 05/28/2007 05:01 AM, SASADA Koichi wrote: >  Continuation のついでに Fiber を入れました。金曜日には出来てたんです > が、もろもろあってコミットが遅くなってしまいました。 おお。 > (1) そもそも、Ruby にこんな機能を加えていいですか? > >  とりあえず、Generator は大変書きやすかったです。 いいと思うのですが、Rubyレベルで継続を使って書かないのはパフォーマンスの ためですか? > (2) Fiber という名前は適当でしょうか? > >  Coroutine という名前のほうがいいのかなぁ、という気もしています。Fiber > だと、Thread に引きずられて誤解が生じる可能性があるかもしれません。 > ちょっとわかりません。 Fiberでいいんじゃないでしょうか。 何かかっこいいですよね。 > (3) API 名は適当でしょうか? > >  というか、適当じゃないと思います。Thread#pass との連想で Fiber#pass と > しましたが、「機能の連想で、スレッドに引きずられる」、「fib#pass で fib > に処理が移るとは思いづらい」などの話があると思います。 WindowsだとSwitchToFiber()なんですよね。 とはいえFiber.switch_to(fib)はかっこわるいので、Fiber#runかなあ。 どっちかというと、イメージ的に近いのはpassよりrunじゃないですかね。 Thread#runとは必ず処理が移るかどうかという違いはあるわけですけど、 passよりrunの方が処理が移る先がわかりやすいように思います。 -- 前田 修吾