Feature #18364
Updated by peterzhu2118 (Peter Zhu) almost 3 years ago
# 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.