From: Charles Oliver Nutter Date: 2007-10-28T14:04:57+09:00 Subject: Re: How fast does your Ruby run? M. Edward (Ed) Borasky wrote: > Let me re-phrase that ... how do I know when I'm coding that I'm not > going to ask for it? Do I need to explicitly call/require/include > something to get it? Well, you need to explicitly reference ObjectSpace in most cases to access it, right? In general, the tricky bit is that there's at least one key library in stdlib that depends on ObjectSpace: test/unit, which uses it to locate tests. However I've implemented in JRuby the ability to walk all child classes from a parent class, which provides the each_object(Class) used in test/unit. Currently, you can turn off ObjectSpace support in JRuby and still have test/unit run. Raising an error might be a better way to ensure people don't run code without ObjectSpace enabled, certainly. But maybe they don't care? It's an open question at the moment, but I don't see that there's any way ObjectSpace is going to have good performance on these new implementations where we don't have intimate control over memory and GC. I expect this is going to be a concern for IronRuby/Ruby.NET too. As far as I know, JRuby's the only general-purpose VM implementation of Ruby that's even *attempted* to make ObjectSpace work. - Charlie