如何衡量Ruby对象的大小?

我有Memcache问题,我想知道什么是了解我创建的对象有多大的最佳方法。

我唯一的解决方案是将它们放入Memcache中,以字节显示它们的大小(顺便说一句,我可以自定义Memcache的输出吗?我想要可读的千字节……)。

谢谢,

凯文

优秀的Eigenclass博客曾经有一篇有趣的文章:

http://web.archive.org/web/20120126022146/http://eigenclass.org/R2/writings/object-size-ruby-ocaml

还有一个关于ruby-talk的很好的讨论,这导致了Robert Klemme(Ruby Best Practices)的一些代码:

http://www.ruby-forum.com/topic/156648

http://www.pastie.org/217131

将第一篇文章中的值插入到脚本中可能会让您开始并且可能非常有教育意义。

你也可以查看memprof,虽然它更多的是关于对象引用和查找内存泄漏而不是实际大小:

http://github.com/ice799/memprof