[#105882] [Ruby master Bug#18280] Segmentation Fault in rb_utf8_str_new_cstr(NULL) — "ukolovda (Dmitry Ukolov)" <noreply@...>

Issue #18280 has been reported by ukolovda (Dmitry Ukolov).

13 messages 2021/11/01

[#105897] [Ruby master Bug#18282] Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants` — "yahonda (Yasuo Honda)" <noreply@...>

Issue #18282 has been reported by yahonda (Yasuo Honda).

12 messages 2021/11/02

[#105909] [Ruby master Misc#18285] NoMethodError#message uses a lot of CPU/is really expensive to call — "ivoanjo (Ivo Anjo)" <noreply@...>

Issue #18285 has been reported by ivoanjo (Ivo Anjo).

37 messages 2021/11/02

[#105920] [Ruby master Bug#18286] Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64 — "ccaviness (Clay Caviness)" <noreply@...>

Issue #18286 has been reported by ccaviness (Clay Caviness).

16 messages 2021/11/03

[#105928] [Ruby master Feature#18287] Support nil value for sort in Dir.glob — "Strech (Sergey Fedorov)" <noreply@...>

Issue #18287 has been reported by Strech (Sergey Fedorov).

16 messages 2021/11/04

[#105944] [Ruby master Bug#18289] Enumerable#to_a should delegate keyword arguments to #each — "Ethan (Ethan -)" <noreply@...>

Issue #18289 has been reported by Ethan (Ethan -).

8 messages 2021/11/05

[#105967] [Ruby master Bug#18293] Time.at in master branch was 25% slower then Ruby 3.0 — "watson1978 (Shizuo Fujita)" <noreply@...>

Issue #18293 has been reported by watson1978 (Shizuo Fujita).

17 messages 2021/11/08

[#106008] [Ruby master Bug#18296] Custom exception formatting should override `Exception#full_message`. — "ioquatix (Samuel Williams)" <noreply@...>

Issue #18296 has been reported by ioquatix (Samuel Williams).

14 messages 2021/11/10

[#106033] [Ruby master Bug#18330] Make failure on 32-bit Linux (Android) with Clang due to implicit 64-to-32-bit integer truncation — "xtkoba (Tee KOBAYASHI)" <noreply@...>

Issue #18330 has been reported by xtkoba (Tee KOBAYASHI).

10 messages 2021/11/11

[#106053] [Ruby master Misc#18335] openindiana ruby 3.1 preview needs --disable-dtrace — "stes (David Stes)" <noreply@...>

Issue #18335 has been reported by stes (David Stes).

14 messages 2021/11/14

[#106069] [Ruby master Feature#18339] GVL instrumentation API — "byroot (Jean Boussier)" <noreply@...>

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

13 messages 2021/11/15

[#106145] [Ruby master Misc#18346] DevelopersMeeting20211209Japan — "mame (Yusuke Endoh)" <noreply@...>

Issue #18346 has been reported by mame (Yusuke Endoh).

11 messages 2021/11/18

[#106173] [Ruby master Feature#18349] Let --jit enable YJIT — "k0kubun (Takashi Kokubun)" <noreply@...>

Issue #18349 has been reported by k0kubun (Takashi Kokubun).

8 messages 2021/11/19

[#106175] [Ruby master Feature#18351] Support anonymous rest and keyword rest argument forwarding — "jeremyevans0 (Jeremy Evans)" <noreply@...>

Issue #18351 has been reported by jeremyevans0 (Jeremy Evans).

10 messages 2021/11/19

[#106279] [Ruby master Feature#18364] Add GC.stat_size_pool for Variable Width Allocation — "peterzhu2118 (Peter Zhu)" <noreply@...>

Issue #18364 has been reported by peterzhu2118 (Peter Zhu).

14 messages 2021/11/25

[#106308] [Ruby master Feature#18367] Stop the interpreter from escaping error messages — "mame (Yusuke Endoh)" <noreply@...>

Issue #18367 has been reported by mame (Yusuke Endoh).

13 messages 2021/11/29

[#106314] [Ruby master Feature#18368] Range#step semantics for non-Numeric ranges — "zverok (Victor Shepelev)" <noreply@...>

Issue #18368 has been reported by zverok (Victor Shepelev).

39 messages 2021/11/29

[#106341] [Ruby master Bug#18369] users.detect(:name, "Dorian") as shorthand for users.detect { |user| user.name == "Dorian" } — dorianmariefr <noreply@...>

Issue #18369 has been reported by dorianmariefr (Dorian Mari辿).

14 messages 2021/11/30

[#106347] [Ruby master Feature#18370] Call Exception#full_message to print exceptions reaching the top-level — "Eregon (Benoit Daloze)" <noreply@...>

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

10 messages 2021/11/30

[ruby-core:106297] [Ruby master Feature#18364] Add GC.stat_size_pool for Variable Width Allocation

From: "Eregon (Benoit Daloze)" <noreply@...>
Date: 2021-11-27 18:56:47 UTC
List: ruby-core #106297
Issue #18364 has been updated by Eregon (Benoit Daloze).


There is something maybe related in TruffleRuby and JRuby, where we have per-heap information.
Maybe it would make sense to have a unified interface for per-heap information?

TruffleRuby:
```
$ ruby -e 'pp GC.heap_stats'
{:time=>29,
 :count=>4,
 :minor_gc_count=>4,
 :major_gc_count=>0,
 :unknown_count=>0,
 :used=>26931712,
 :heap_live_slots=>26931712,
 :committed=>530579456,
 :heap_available_slots=>530579456,
 :heap_free_slots=>503647744,
 :init=>526385152,
 :max=>8420065280,
 "G1 Eden Space"=>
  {:used=>0,
   :committed=>75497472,
   :init=>27262976,
   :max=>-1,
   :peak_used=>46137344,
   :peak_committed=>327155712,
   :peak_init=>27262976,
   :peak_max=>-1,
   :last_used=>0,
   :last_committed=>75497472,
   :last_init=>27262976,
   :last_max=>-1},
 :peak_used=>73069056,
 :peak_committed=>834666496,
 :peak_init=>526385152,
 :peak_max=>8420065278,
 :last_used=>8388608,
 :last_committed=>83886080,
 :last_init=>526385152,
 :last_max=>8420065278,
 "G1 Survivor Space"=>
  {:used=>8388608,
   :committed=>8388608,
   :init=>0,
   :max=>-1,
   :peak_used=>8388608,
   :peak_committed=>8388608,
   :peak_init=>0,
   :peak_max=>-1,
   :last_used=>8388608,
   :last_committed=>8388608,
   :last_init=>0,
   :last_max=>-1},
 "G1 Old Gen"=>
  {:used=>18543104,
   :committed=>446693376,
   :init=>499122176,
   :max=>8420065280,
   :peak_used=>18543104,
   :peak_committed=>499122176,
   :peak_init=>499122176,
   :peak_max=>8420065280,
   :last_used=>0,
   :last_committed=>0,
   :last_init=>499122176,
   :last_max=>8420065280}}
```

JRuby:
```
ruby -e 'pp GC.stat'                   
{:count=>2,
 :time=>17,
 :committed=>1061158912.0,
 :init=>1052770304.0,
 :max=>16840130556.0,
 :used=>44554240.0,
 :peak_committed=>1660944384.0,
 :peak_init=>1052770304.0,
 :peak_max=>16840130556.0,
 :peak_used=>65525760.0,
 :last_committed=>79691776.0,
 :last_init=>1052770304.0,
 :last_max=>16840130556.0,
 :last_used=>8388608.0,
 "G1 Young Generation"=>
  {:count=>2,
   :time=>17,
   :pools=>
    {"G1 Old Gen"=>
      {:committed=>490733568,
       :init=>499122176,
       :max=>8420065280,
       :used=>7597056,
       :peak_committed=>499122176,
       :peak_init=>499122176,
       :peak_max=>8420065280,
       :peak_used=>7597056,
       :last_committed=>0,
       :last_init=>499122176,
       :last_max=>8420065280,
       :last_used=>0}}},
 "G1 Old Generation"=>
  {:count=>0,
   :time=>0,
   :pools=>
    {"G1 Old Gen"=>
      {:committed=>490733568,
       :init=>499122176,
       :max=>8420065280,
       :used=>7597056,
       :peak_committed=>499122176,
       :peak_init=>499122176,
       :peak_max=>8420065280,
       :peak_used=>7597056,
       :last_committed=>0,
       :last_init=>499122176,
       :last_max=>8420065280,
       :last_used=>0}}}}
```

----------------------------------------
Feature #18364: Add GC.stat_size_pool for Variable Width Allocation
https://bugs.ruby-lang.org/issues/18364#change-94923

* Author: peterzhu2118 (Peter Zhu)
* Status: Open
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
----------------------------------------
# GitHub PR: https://github.com/ruby/ruby/pull/5177

We're proposing an API to get statistics for size pools for Variable Width Allocation similar to `GC.stat`. This will make it easier for us (and other developers) to tune VWA.

Before 3.1 release, we plan to keep this method hidden from the documentation using `:nodoc:` since it is not useful when not using VWA.

For example:

```ruby
# Get stats for size pool 2
puts GC.stat_size_pool(2)
#=> {:slot_size=>160, :heap_allocatable_pages=>80, :heap_eden_pages=>14, :heap_eden_slots=>1424, :heap_tomb_pages=>0, :heap_tomb_slots=>0}
puts GC.stat_size_pool(2, :heap_eden_pages)
#=> 14
```

We aim to keep the keys in the outputted hash the same as the keys used in `GC.stat`.

We chose to implement a new method instead of re-using an existing API (`GC.stat`) because the keys returned by `GC.stat_size_pool` will not be the same as `GC.stat`. We believe that having `GC.stat` return different shapes of hashes based on its arguments is confusing.




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

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread