From: ko1@... Date: 2014-02-25T08:49:16+00:00 Subject: [ruby-core:61065] [ruby-trunk - Bug #9518] Objects in large arrays are leaked Issue #9518 has been updated by Koichi Sasada. Yes, you are right. WB (write barrier) strategy doesn't care such case. How many such program? If it is popular case, we can care about it. ---------------------------------------- Bug #9518: Objects in large arrays are leaked https://bugs.ruby-lang.org/issues/9518#change-45462 * Author: Charlie Somerville * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0] * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- a = [nil] * 131071 loop { a << Object.new; a.pop } # process RSS stays stable a = [nil] * 131072 loop { a << Object.new; a.pop } # process RSS grows quickly and never falls It seems to be related to this bit of code: https://github.com/github/ruby/blob/2.1/gc.c#L4764-4766 -- http://bugs.ruby-lang.org/