[#108176] [Ruby master Bug#18679] Encoding::UndefinedConversionError: "\xE2" from ASCII-8BIT to UTF-8 — "taf2 (Todd Fisher)" <noreply@...>

Issue #18679 has been reported by taf2 (Todd Fisher).

8 messages 2022/04/05

[#108185] [Ruby master Feature#18683] Allow to create hashes with a specific capacity. — "byroot (Jean Boussier)" <noreply@...>

Issue #18683 has been reported by byroot (Jean Boussier).

13 messages 2022/04/06

[#108198] [Ruby master Feature#18685] Enumerator.product: Cartesian product of enumerators — "knu (Akinori MUSHA)" <noreply@...>

Issue #18685 has been reported by knu (Akinori MUSHA).

8 messages 2022/04/08

[#108201] [Ruby master Misc#18687] [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0 — "hsbt (Hiroshi SHIBATA)" <noreply@...>

Issue #18687 has been reported by hsbt (Hiroshi SHIBATA).

10 messages 2022/04/09

[#108216] [Ruby master Misc#18691] An option to run `make rbconfig.rb` in a different directory — "jaruga (Jun Aruga)" <noreply@...>

Issue #18691 has been reported by jaruga (Jun Aruga).

14 messages 2022/04/12

[#108225] [Ruby master Misc#18726] CI Error on c99 and c2x — "znz (Kazuhiro NISHIYAMA)" <noreply@...>

Issue #18726 has been reported by znz (Kazuhiro NISHIYAMA).

11 messages 2022/04/14

[#108235] [Ruby master Bug#18729] Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private — "Eregon (Benoit Daloze)" <noreply@...>

Issue #18729 has been reported by Eregon (Benoit Daloze).

28 messages 2022/04/14

[#108237] [Ruby master Bug#18730] Double `return` event handling with different tracepoints — "hurricup (Alexandr Evstigneev)" <noreply@...>

Issue #18730 has been reported by hurricup (Alexandr Evstigneev).

8 messages 2022/04/14

[#108294] [Ruby master Bug#18743] Enumerator#next / peek re-use each others stacktraces — sos4nt <noreply@...>

Issue #18743 has been reported by sos4nt (Stefan Schテシテ殕er).

20 messages 2022/04/19

[#108301] [Ruby master Bug#18744] I used Jazzy to generate the doc for my iOS library, but it showed me a bug — "zhaoxinqiang (marc steven)" <noreply@...>

Issue #18744 has been reported by zhaoxinqiang (marc steven).

8 messages 2022/04/20

[ruby-core:108249] [Ruby master Bug#18733] Ruby GC problems cause performance issue with Ractor

From: "jakit (Jakit Liang)" <noreply@...>
Date: 2022-04-15 06:22:15 UTC
List: ruby-core #108249
Issue #18733 has been updated by jakit (Jakit Liang).


Thanks much! :)

And I change the topic to GC problem instead problem of m1.

Hope the memory management will get improvement. ;)

ko1 (Koichi Sasada) wrote in #note-1:
> Thank you for your report.
> 
> On my WSL2 environment with 12 cores, `ruby 3.2.0dev (2022-04-15T04:24:48Z master 92614111c0) [x86_64-linux]` shows worse results.
> 
> ```
>   0.003304   0.000000 102.404055 ( 13.083221)
> 296.139861 262.090810 558.230671 (278.664518)
> ```
> 
> However, I modified it with 
> 
> ```ruby
> def fib(n)
>   return n if n < 2 # `[0,1].include?(n)` generates an Array object
>   fib(n-1) + fib(n-2)
> end
> ```
> 
> it shows
> 
> ```
>   0.000000   0.003886  31.579734 (  4.092415)
>  31.779964   0.003833  31.783797 (  4.114323)
> ```
> 
> maybe because of object allocation (GC) causes contention and the system determines it should not use performance cores.
> (BTW I can't see figure "ruby_bug_with_m1")
> 
> The conclusion is, the reason of this issue is the implementation of object allocation (GC).



----------------------------------------
Bug #18733: Ruby GC problems cause performance issue with Ractor
https://bugs.ruby-lang.org/issues/18733#change-97267

* Author: jakit (Jakit Liang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [arm64-darwin21]
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
Code:

```
require 'benchmark'

def fib(n)
  return n if [0,1].include?(n)
  fib(n-1) + fib(n-2)
end

tp = []

puts Benchmark.measure {
  8.times do
    tp << fork { fib(37) }
  end

  tp.each { |t| Process.wait(t) }
}

puts Benchmark.measure {
  8.times.map {
    Ractor.new { fib(37) }
  }.each{ |r| r.take }
}
```

Result:

|A |B |
|--|--|
| fork | 0.000264   0.003439  87.181198 ( 11.211349) |
| Ractor | 80.292916  15.062559  95.355475 ( 39.569527) |

And I found that here's the problem showing on the ActiveMonitor.app:

![ruby_bug_with_m1](http://jakit.cn/screen_shot_ruby_bug.jpg)

As you can see, the process of ruby is always using all Performance Cores on my Apple M1 Mac.

But there's no one of the Efficiency Cores was in used by ruby Ractor.




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread