[#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
[#106351] [Ruby master Bug#18371] Release branches (release information in general) — "tenderlovemaking (Aaron Patterson)" <noreply@...>
Issue #18371 has been reported by tenderlovemaking (Aaron Patterson).
7 messages
2021/11/30
[ruby-core:106298] [Ruby master Feature#18364] Add GC.stat_size_pool for Variable Width Allocation
From:
"peterzhu2118 (Peter Zhu)" <noreply@...>
Date:
2021-11-27 19:45:41 UTC
List:
ruby-core #106298
Issue #18364 has been updated by peterzhu2118 (Peter Zhu).
Thanks for the TruffleRuby and JRuby info @eregon! Maybe we could extend `GC.stat` to include size pool info in an array. For example:
```
pp GC.stat
{:count=>21,
:heap_allocated_pages=>99,
...
:size_pools=>
[
{:slot_size=>40,
:heap_allocatable_pages=>4,
:heap_eden_pages=>40,
:heap_eden_slots=>1234,
:heap_tomb_pages=>0,
:heap_tomb_slots=>0},
{:slot_size=>80,
:heap_allocatable_pages=>80,
:heap_eden_pages=>14,
:heap_eden_slots=>123,
:heap_tomb_pages=>0,
:heap_tomb_slots=>0}
...
],
...
}
```
However, I think I think that this would be a breaking change for those that assume all the values in the hash are of type Numeric.
----------------------------------------
Feature #18364: Add GC.stat_size_pool for Variable Width Allocation
https://bugs.ruby-lang.org/issues/18364#change-94924
* 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:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>