From: "rosenfeld (Rodrigo Rosenfeld Rosas)" Date: 2012-07-01T22:10:42+09:00 Subject: [ruby-core:46052] [ruby-trunk - Feature #5653] "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead) Issue #5653 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas). sorry, but I didn't get it. It is pretty easy to demonstrate the difference in performance between using autoload ad require. Just change "config.cache_classes = false" to "true" in config/environments/development.rb. Then, `time rails r 'p 1'`. For a fresh Rails application here: with cache_classes set to false: 1.5s with cache_classes set to true: 1.9s In my actual app it goes from 4.5s to 6.3s. ---------------------------------------- Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead) https://bugs.ruby-lang.org/issues/5653#change-27659 Author: matz (Yukihiro Matsumoto) Status: Assigned Priority: Normal Assignee: nahi (Hiroshi Nakamura) Category: lib Target version: 2.0.0 Hi, Today, I talked with NaHi about enhancing const_missing to enable autoload-like feature with nested modules. But autoload itself has fundamental flaw under multi-thread environment. I should have remove autoload when I added threads to the language (threads came a few months after autoload). So I hereby declare the future deprecation of autoload. Ruby will keep autoload for a while, since 2.0 should keep compatibility to 1.9. But you don't expect it will survive further future, e.g. 3.0. I strongly discourage the use of autoload in any standard libraries. matz. -- http://bugs.ruby-lang.org/