I understand the subtle differences between require, load and autoload in Ruby, but my question is, how do you know which one to use?
here's what you gain with autoload over require:
autoload is primarily for speeding up the initialization phase of your Ruby program or Rails application. By not loading the resources until they are needed, it can speed up things quite a bit.
Another advantage is that you may not need to load some parts of the code, if the user doesn't use certain features -- thereby improving load time and reducing the memory footprint.