> > Another thing that can help (in general, not only when you're using RubyGems) > is lazy loading using Kernel#autoload. > Similar to autoload, but manually doing it (keeping all of rubygems functionality) is to do your requires within functions that use the library. Thus, rather than doing: require 'mylib' def use_it MyLib.new end Write: def use_it require 'mylib' MyLib.new end Only when use_it is called will the require be executed. If your code never calls use_it, the mylib library is never loaded.