This project is archived and is in readonly mode.

Changeset [39d6f9e112f2320d8c2006ee3bcc160cfa761d0a] by wycats

March 7th, 2010 @ 02:24 PM

Make many parts of Rails lazy. In order to facilitate this,
add lazy_load_hooks.rb, which allows us to declare code that
should be run at some later time. For instance, this allows
us to defer requiring ActiveRecord::Base at boot time purely
to apply configuration. Instead, we register a hook that should
apply configuration once ActiveRecord::Base is loaded.

With these changes, brings down total boot time of a
new app to 300ms in production and 400ms in dev.

TODO: rename base_hook
http://github.com/rails/rails/commit/39d6f9e112f2320d8c2006ee3bcc16...

Committed by wycats

  • A activerecord/lib/active_record/errors.rb
  • A activesupport/lib/active_support/lazy_load_hooks.rb
  • M actionmailer/lib/action_mailer.rb
  • M actionmailer/lib/action_mailer/base.rb
  • M actionmailer/lib/action_mailer/railtie.rb
  • M actionpack/lib/action_controller/base.rb
  • M actionpack/lib/action_controller/railtie.rb
  • M actionpack/lib/action_dispatch/middleware/params_parser.rb
  • M actionpack/lib/action_dispatch/middleware/session/cookie_store.rb
  • M actionpack/lib/action_dispatch/middleware/stack.rb
  • M actionpack/lib/action_dispatch/routing/mapper.rb
  • M actionpack/lib/action_view.rb
  • M actionpack/lib/action_view/base.rb
  • M actionpack/lib/action_view/helpers/active_model_helper.rb
  • M actionpack/lib/action_view/helpers/form_helper.rb
  • M actionpack/lib/action_view/railtie.rb
  • M actionpack/lib/action_view/test_case.rb
  • M actionpack/test/abstract_unit.rb
  • M activerecord/lib/active_record.rb
  • M activerecord/lib/active_record/base.rb
  • M activerecord/lib/active_record/railtie.rb
  • M activerecord/test/cases/helper.rb
  • M activesupport/lib/active_support.rb
  • M activesupport/lib/active_support/all.rb
  • M activesupport/lib/active_support/core_ext/array/conversions.rb
  • M activesupport/lib/active_support/core_ext/string/interpolation.rb
  • M activesupport/lib/active_support/dependencies/autoload.rb
  • M activesupport/lib/active_support/i18n.rb
  • M activesupport/lib/active_support/railtie.rb
  • M activesupport/lib/active_support/whiny_nil.rb
  • M activesupport/test/whiny_nil_test.rb
  • M railties/lib/rails/application/routes_reloader.rb
  • M railties/lib/rails/console/helpers.rb
  • M railties/lib/rails/engine.rb

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>