From: "ko1 (Koichi Sasada)" Date: 2013-10-04T20:07:41+09:00 Subject: [ruby-core:57666] [ruby-trunk - Bug #8984][Assigned] ObjectSpace.memsize_of(obj) should return with sizeof(RVALUE) Issue #8984 has been reported by ko1 (Koichi Sasada). ---------------------------------------- Bug #8984: ObjectSpace.memsize_of(obj) should return with sizeof(RVALUE) https://bugs.ruby-lang.org/issues/8984 Author: ko1 (Koichi Sasada) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: ext Target version: current: 2.1.0 ruby -v: - Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN Now, ObjectSpace.memsize_of(obj) return without sizeof(RVALUE). For example, ObjectSpace.memsize_of('foo') returns 0 because shorter string are embedded in RVALUE. Proposal is returning the size including sizeof(RVALUE). If we introduce variable RVALUE size (*1), then it will help. *1: for example, T_FLOAT only use sizeof(double). Only 2 words (or 1 word on 64bit enviornment) are needed. Question is: it breaks compatibility, but anyone care about it? Another option is to add optional parameter. memsize_of(obj, include_rvalue: true), etc. -- http://bugs.ruby-lang.org/