From: Stephen Kellett Date: 2005-09-24T02:51:39+09:00 Subject: Re: memory measurements In message <20050923164415.41137.qmail@web36114.mail.mud.yahoo.com>, Eric Mahurin writes >I don't care about graphs and such. Just a method (or several) >in GC/ObjectSpace to get some memory info. If the above did >what I'm thinking about (walk through each >object/stack/symbol-table/etc and add up the memory used), it >would be portable, If you examine the source for Ruby you'll find that the above is non-trivial and is implemented in C, in the form of the garbage collector. I have offered to write a C API to collect such stats (and will provide a simple Ruby API to provide other data to Ruby in the form of a snapshot) but have not yet had the time to do it. Is this portable? Yes if you regard compiling C on each platform to get the code working. Someone else (sorry can't remember who) did write a Ruby snippet to walk the object space. The main problem with this approach and any approach that tries to trace ruby memory usage using say a set_trace_func() type approach is the act of sending data to the ruby callback or walking the object space in ruby allocates more objects, thus distorting the picture, sometimes quite badly. >but you said it is windows only. It is written in C++ and assembly. It is impossible to do low level hooking of the type required to write this software in anything other than similar languages. You could not write these software tools in Ruby, Python, Java, Lua, etc. >Also, I >couldn't find any download link. I think I covered that when I wrote: >No website description at the present time but you can apply for the beta >at Stephen -- Stephen Kellett Object Media Limited http://www.objmedia.demon.co.uk/software.html Computer Consultancy, Software Development Windows C++, Java, Assembler, Performance Analysis, Troubleshooting