diff options
Diffstat (limited to 'jni/ruby/benchmark/gc/ring.rb')
-rw-r--r-- | jni/ruby/benchmark/gc/ring.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/jni/ruby/benchmark/gc/ring.rb b/jni/ruby/benchmark/gc/ring.rb new file mode 100644 index 0000000..be2c7b7 --- /dev/null +++ b/jni/ruby/benchmark/gc/ring.rb @@ -0,0 +1,29 @@ +# create many old objects + +max = 30_000_000 + +class Ring + attr_reader :next_ring + def initialize n = nil + @next_ring = n + end + + + def size + s = 1 + ring = self + while ring.next_ring + s += 1 + ring = ring.next_ring + end + s + end +end + +ring = Ring.new + +max.times{ + ring = Ring.new(ring) +} + +# p ring.size |