diff options
author | Jean Boussier <byroot@ruby-lang.org> | 2022-10-19 16:56:37 +0200 |
---|---|---|
committer | Jean Boussier <jean.boussier@gmail.com> | 2023-04-04 19:49:08 +0200 |
commit | ba6ccd871442f55080bffd53e33678c0726787d2 (patch) | |
tree | d8b9435500b80ecdd29e798db76cb4620b5763b7 /test | |
parent | a84c99468f26a9f79fec57926d561ed906505eac (diff) | |
download | ruby-ba6ccd871442f55080bffd53e33678c0726787d2.tar.gz |
Implement `Process.warmup`
[Feature #18885]
For now, the optimizations performed are:
- Run a major GC
- Compact the heap
- Promote all surviving objects to oldgen
Other optimizations may follow.
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_process.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 6e8050a54a..fa25d10353 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -4,6 +4,7 @@ require 'test/unit' require 'tempfile' require 'timeout' require 'rbconfig' +require 'objspace' class TestProcess < Test::Unit::TestCase RUBY = EnvUtil.rubybin @@ -2679,4 +2680,11 @@ EOS end end; end if Process.respond_to?(:_fork) + + def test_warmup_promote_all_objects_to_oldgen + obj = Object.new + refute_includes(ObjectSpace.dump(obj), '"old":true') + Process.warmup + assert_includes(ObjectSpace.dump(obj), '"old":true') + end end |