summaryrefslogtreecommitdiff
path: root/test/coverage/test_coverage.rb
diff options
context:
space:
mode:
authorPeter Zhu <[email protected]>2023-09-01 10:07:32 -0400
committerPeter Zhu <[email protected]>2023-09-04 08:50:27 -0400
commit4cc56592932d36c202b2366ffe7ad71db2f5ea0b (patch)
treece40a99f55ad6c7634ea223670fdb81692f5a36f /test/coverage/test_coverage.rb
parent2ac3e9abe98579261a21a2e33df16f1bff1ebc1d (diff)
Keep write-barrier status after splicing array
We don't need to remove the write-barrier protected status after splicing an array. We can simply add it to the rememberset for marking during the next GC. The benchmark illustrates the performance impact on minor GC: ``` require "benchmark" arys = 1_000_000.times.map do ary = Array.new(50) ary.insert(1, 3) ary end 4.times { GC.start } puts(Benchmark.measure do 1000.times do GC.start(full_mark: false) end end) ``` This branch: ``` 1.309910 0.004342 1.314252 ( 1.314580) ``` Master branch: ``` 54.376091 0.219037 54.595128 ( 54.742996) ```
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/8350
Diffstat (limited to 'test/coverage/test_coverage.rb')
0 files changed, 0 insertions, 0 deletions