> If there is a call like foo(**h), and h has both Symbol and non-Symbol keys, in <2.7 the Hash is "split" which I find extremely confusing and it's also slowing things down by always having to consider "there might be an extra positiona...sylvain.joyeux (Sylvain Joyeux)
Hi Yusuke. Thanks for the long thought-out answer. I really appreciate you taking the time. > But the behavior was changed to reject non-symbol keys, and it was done without matz's confirmation. So in a sense, this is a bug fix. It...sylvain.joyeux (Sylvain Joyeux)
sawa (Tsuyoshi Sawada) wrote in #note-2: > The core of that problem actually has nothing to do with allowing non-symbol keyword argument. That developer ad hocly used string vs. symbol distinction in hope that hash keys within a position...sylvain.joyeux (Sylvain Joyeux)
> This change was deliberate and mentioned in the 2.7.0 release announcement: I missed this specific implication of that change ... Sorry for the noise. Thanks.sylvain.joyeux (Sylvain Joyeux)
The following code ~~~ def bla(hash = {}, **kw) puts "H: #{hash}" puts "K: #{kw}" end bla "some" => "string" ~~~ **silently** outputs the following (no warnings about deprecation of keyword parameters-from-hash) ...sylvain.joyeux (Sylvain Joyeux)
> Does it matter what the exact timeslice is in absolute units, or what matters is how often is a high-priority Thread executed compared to a low-priority Thread? The actual underlying behavior matters, actually. If I'm using Linux sc...sylvain.joyeux (Sylvain Joyeux)
OK ... since it seems that everyone is camping on their own position, I have an alternative proposal: initialize the min and max priority values using environment variables on MRI, defaults to -3 and 3. Would that be alright ?sylvain.joyeux (Sylvain Joyeux)
> -5 would still mean "the highest priority", yes, but then e.g. -4 or -3 which starts to mean "high but not highest priority" on MRI would have a different meaning on other implementations, which I believe is undesirable. -5 means "g...sylvain.joyeux (Sylvain Joyeux)
> I think it's important, otherwise how is Ruby code supposed to know what are the limits and which value it can use for Thread#priority= ? It does not have to know. It will use, say -5 because it is meaningful on MRI. The value is th...sylvain.joyeux (Sylvain Joyeux)
`RUBY_THREAD_PRIORITY_MIN` is changed to give the developer the choice to make some threads really low priority, at the cost of switching overhead. Unless I'm mistaken, the semantic of 'priority' right now is very platform-specific anywa...sylvain.joyeux (Sylvain Joyeux)