From: SASADA Koichi Date: 2007-05-30T03:33:58+09:00 Subject: [ruby-dev:30835] Re: Supporting Fiber  ささだです。  ご意見ありがとうございます。 Shugo Maeda さんは書きました: >> (1) そもそも、Ruby にこんな機能を加えていいですか? >> >>  とりあえず、Generator は大変書きやすかったです。 > > いいと思うのですが、Rubyレベルで継続を使って書かないのはパフォーマンスの > ためですか?  そうです。継続でのコンテキスト切り替えは VM スタックのコピー が必要ですが、Fiber の場合、そこは VM スタックポイントの切り替 えで済むからです。マシンスタックのコピーは、どちらも必要なので すが。 >> (3) API 名は適当でしょうか? >> >>  というか、適当じゃないと思います。Thread#pass との連想で Fiber#pass と >> しましたが、「機能の連想で、スレッドに引きずられる」、「fib#pass で fib >> に処理が移るとは思いづらい」などの話があると思います。 > > WindowsだとSwitchToFiber()なんですよね。 > とはいえFiber.switch_to(fib)はかっこわるいので、Fiber#runかなあ。 > どっちかというと、イメージ的に近いのはpassよりrunじゃないですかね。 > Thread#runとは必ず処理が移るかどうかという違いはあるわけですけど、 > passよりrunの方が処理が移る先がわかりやすいように思います。  うーん、run は思いつきませんでした。なんとなく、最初の一回だ けのメソッド名に見えるのは気のせいでしょうか。 -- // SASADA Koichi at atdot dot net