Ola Bini wrote:
I was thinking if the slowness of loading is because of all the class loaders used... Would it make sense to let the standard library run with the same class loader, you think? And in the same manner, when we're talking about compiling RubyGems on installation, having the same class loader for the whole gem seems to make sense, neh?

Yes, I have been thinking the same thing, and trying to reconcile how to know when we should switch to a different classloader for new methods. Since "def" is always a runtime operation, there's no clear distinction between doing

while true; def some_method; end; end

and doing

def some_method; end

But the first case would leak classes if it always generated, say, invokers into the same classloader.

I also would like to find a way to reduce the overhead of starting up the class, possibly by generating a single custom call adapter per compiled class that has custom methods for each call site and n * 3 fields for the inline cache; that would allow a single object to be constructed rather than one per invocation.

There's a lot of room for improvement here.

- Charlie

---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to