[Rubygems-developers] faster rubygems.rb loading by way of deferred plugin loads, and other resource usage enhancements

Charles Oliver Nutter headius at headius.com
Fri Jul 9 14:36:51 EDT 2010


On Fri, Jul 9, 2010 at 12:40 PM, James Tucker <jftucker at gmail.com> wrote:
>> Wouldn't rubygems_plugin.rb do the Gem.register* command and deffer
>> the actual plugin loading script for the command invitation?
>
> Yes, it will defer calling activate and modifying the load path.
>
>> What is the benefit on indexing those, since these were already loaded?
>
> To avoid needing to load Gem.spec in order to execute Gem.find_files, which is insanely expensive (relatively speaking).

FWIW, I wrote up a blog post last night about how to walk the heap,
examine memory sizes, and so on using JRuby. One of the items I called
out were all the Gem::Version objects in memory, and there's other
offenders. If you'd like to do some of that exploration, I'm happy to
help.

http://blog.headius.com/2010/07/browsing-memory-jruby-way.html

I'm definitely interested in helping reduce the startup load from
RubyGems. It's the largest (by far) slowdown for JRuby startup, which
drives our users a bit batty.

- Charlie


More information about the Rubygems-developers mailing list