From: Scott Ellsworth Date: 2005-09-24T07:46:41+09:00 Subject: Re: memory measurements In article , Stephen Kellett wrote: > In message <20050923164415.41137.qmail@web36114.mail.mud.yahoo.com>, > Eric Mahurin writes > >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. None of the following is in any way a slight on what you have done - it seems to be the only way _to_ do it with the current state of Ruby. Java has a GC system that can track objects, return sizes, and all sorts of groovy stuff, and communicate it over a socket to an external profiler or debugger. Ruby, as best as I can read it, does not have such hooks built in, so you have to grope the native memory model. You can write such software tools in Java for Java. You will not be able to write them in Ruby for Ruby, until such hooks are added into the Ruby runtime. I, for one, would like to see such hooks added, as I believe a lack of memory profiling tools (built in at the lowest levels) is one of the bigger things in the way of Ruby scaling. If a webapp is going to run for months at a time, it really helps to be able to introspect long lived and large objects. (Some of my Java webapps have over a year of uptime, possible because we did that kind of memory leak testing. I would like to be able to do the same with Ruby on Rails.) Scott -- Scott Ellsworth scott@alodar.nospam.com Java and database consulting for the life sciences