On Mar 21, 2011, at 6:54 AM, Roger Pack wrote:
>> 2 Major Enhancements:
>=20
> Cool thanks for the release.
>=20
> If you ever get the time for it, the following are a couple ideas that=20=

> might help speed up rubygems on windows.  I had some success with them=20=

> with my faster_rubygems project, but haven't kept up with the latest=20=

> updates.  Some of these may already be included in rubygems I don't=20
> know...
>=20
> 1) use marshal instead of yaml for the specs (this helps jruby boot =
more=20
> quickly since yaml is a heavier dependency on that VM).

The on-disk gemspecs are not in yaml format, they're in ruby format.

> 2) combine all the gemspec files into one "cached" gemspec file, per =
gem=20
> directory.

I haven't been willing to sacrifice the simplicity for doing something =
better in this area, there are many other places in RubyGems that need =
to be improved.  Feel free to take a crack at it, though.

> 3) also cache somehow a list of each "requireable" file within each =
gem=20
> (for instance, within the file for 2).  Then for=20
> Gem.searcher.find_in_unresolved you just iterate over that list =
instead=20
> of actually hitting the file system.

I tried this once before and found it to be significantly slower than =
Dir[].  I believe I was working on OS X at the time.

Note: RubyGems no longer places bin/ from gems with executables on =
$LOAD_PATH anymore, so the amount of globs required has been cut in (up =
to) half.

> The combination of these makes for lightning fast rubygems in windows,=20=

> though I'm not sure which one has most effect.

Benchmarks would be required, of course.=