diff options
Diffstat (limited to 'benchmark/gc/ring.rb')
| -rw-r--r-- | benchmark/gc/ring.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/benchmark/gc/ring.rb b/benchmark/gc/ring.rb new file mode 100644 index 0000000000..be2c7b7250 --- /dev/null +++ b/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 |
