By default, autotest polls every file in your rails project for changes. By telling it to ignore certain files, you can drastically reduce its CPU usage. It looks for a config file named .autotest either in the working directory or your home directory. For a rails project, my .autotest file looks like this:
Autotest.add_hook :initialize do |autotest|
%w{.git .DS_Store ._* vendor}.each do |exception|
autotest.add_exception(exception)
end
end
You can also use autotest-fsevent (more info here), which eliminates the polling altogether.