1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actionpack/lib/action_view
Yehuda Katz e58b2769cf Experimental: Improve performance of ActionView by preventing method cache flushing due to runtime Kernel#extend:
* The helper module adds a new _helper_serial property onto AbstractController subclasses
  * When #helper is used to add helpers to a class, the serial number is updated
  * An ActionView subclass is created and cached based on this serial number.
    * That subclass includes the helper module from the controller
    * Subsequent requests using the same controller with the same serial will result in
      reusing that subclass, rather than being forced to take an action (like include
      or extend) that will result in a global method cache flush on MRI and a flush 
      of the entire AV class' cache on JRuby.
  * For now, this optimization is not applied to the RJS helpers, which results in
    a global method cache flush in MRI and a flush of the JavaScriptGenerator class in
    JRuby only when using RJS.
    * Since the effects are limited to using RJS, and would only affect JavaScriptGenerator
      in JRuby (as opposed to the entire view object), it seems worthwhile to apply this
      now.
  * This resulted in a significant performance improvement. I will have benchmarks
    in the next day or two that show the performance impact of the last several
    commits.
  * There is a small chance this could break existing code (although I'm not sure how).
    If that happens, please report it immediately.
2009-08-09 04:12:09 -03:00
..
erb use autoload instead of explicit requires for ActionView 2008-11-23 13:42:07 -06:00
helpers Clean up initializer and some of the internals of PartialRenderer 2009-08-09 04:12:08 -03:00
locale Improve i18n support for number_to_human_size helper: 2009-01-27 09:22:00 -08:00
render Cache some more things to improve partial perf 2009-08-09 04:12:08 -03:00
template Rendering a template from ActionView will default to looking for partials only in the current mime type. 2009-08-09 04:12:08 -03:00
base.rb Experimental: Improve performance of ActionView by preventing method cache flushing due to runtime Kernel#extend: 2009-08-09 04:12:09 -03:00
context.rb replace _render_*_from_controller with render_* as they are intended to be public 2009-08-06 19:43:28 -03:00
helpers.rb First effort at new Ajax helpers 2009-07-20 16:13:21 -07:00
paths.rb Rename find_by_parts and find_by_parts? to find and exists? 2009-08-07 15:00:12 -03:00
test_case.rb Modify various partial methods to carry along the block that can be passed in with render 2009-08-07 05:40:01 -03:00