From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 80EE71F404 for ; Tue, 14 Aug 2018 08:22:52 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 3BE6D120936; Tue, 14 Aug 2018 17:22:49 +0900 (JST) Received: from mail.atdot.net (ik1-326-23156.vs.sakura.ne.jp [153.126.180.160]) by neon.ruby-lang.org (Postfix) with ESMTP id C77CF12090C for ; Tue, 14 Aug 2018 17:22:45 +0900 (JST) To: ruby-core@ruby-lang.org References: <20180814004235.hj3rokgsxoy77fza@dcvr> From: Koichi Sasada Message-ID: Date: Tue, 14 Aug 2018 17:22:44 +0900 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180814004235.hj3rokgsxoy77fza@dcvr> Content-Language: en-US X-ML-Name: ruby-core X-Mail-Count: 88476 Subject: [ruby-core:88476] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" On 2018/08/14 9:42, Eric Wong wrote: > I am thinking of adding preemption support to this feature for > compatibility with 1.8 So that "auto-fiber" proposal is to provide green threads like Ruby 1.8? Like: ``` model 1: Userlevel Thread Same as traditional ruby thread. ``` in thread.c comment (I wrote 13 years ago!). I don't against this idea, but I think it is hard to select these options by Ruby programmers. I think changing Thread implementation model from native thread (1:1 model) to green thread mode (1:N model) is better for Ruby programmers. To change them, we need to discuss pros. and cons. of them carefully. There are several good points (the biggest advantage of 1:1 model is friendly for outer libraries) but are bad points (1:1 model has performance penalties, and recent glibc malloc arena issues and so on). I don't think it is a good idea to choose such internal implementation by Ruby programmers. ... easy? -- // SASADA Koichi at atdot dot net