From: normalperson@... Date: 2015-05-23T01:34:38+00:00 Subject: [ruby-core:69323] [Ruby trunk - Feature #11170] [Open] [PATCH] use ivar indices for generic ivars Issue #11170 has been reported by Eric Wong. ---------------------------------------- Feature #11170: [PATCH] use ivar indices for generic ivars https://bugs.ruby-lang.org/issues/11170 * Author: Eric Wong * Status: Open * Priority: Normal * Assignee: ---------------------------------------- * [PATCH 1/2] variable.c: extract common functions for generic ivar http://80x24.org/spew/m/4e9df8a150a121c894fe142bde5efc15d43e5e94.txt * [PATCH 2/2] variable.c: use indices for generic ivars http://80x24.org/spew/m/aabb09c886a23ea496722b13f2b39da8606b8180.txt This reduces memory overhead of ivars for common types such as T_DATA the same way T_OBJECT does it. For 9992 accepted clients on an OpenSSL server, this reduces RSS memory from 77160K to 69248K on x86-64 with the attached ossl.rb script. Connecting client process was reduced from 246312K to 230724K RSS. OpenSSL 1.0.1e-2+deb7u16 on Debian 7 ---Files-------------------------------- ivar-reduce-combined.patch (17.2 KB) -- https://bugs.ruby-lang.org/