Issue #9518 has been updated by Masaya Tarui. Sorry for such a late response. I agree. At the first time, I was introduled for reducing minor GC's long time by rescan of huge size array. But in real case, if there are huge size array, there may be other huge data too. No matter how it do, it have to take time. ---------------------------------------- Bug #9518: Objects in large arrays are leaked https://bugs.ruby-lang.org/issues/9518#change-46250 * 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 -- https://bugs.ruby-lang.org/