diff options
author | Jean Boussier <jean.boussier@gmail.com> | 2015-08-27 21:28:54 -0400 |
---|---|---|
committer | Jean Boussier <jean.boussier@gmail.com> | 2015-08-27 21:49:04 -0400 |
commit | 2e0cd0f371bd8f2bf0908f5f4c8887b6faef0884 (patch) | |
tree | d0d911e0a0de208dd1c68f9bb0de6c860b3bf60e /actionpack/lib/action_dispatch/http/request.rb | |
parent | f642208ae4f2779b9c247eaa02f04491608e4b34 (diff) | |
download | rails-2e0cd0f371bd8f2bf0908f5f4c8887b6faef0884.tar.gz rails-2e0cd0f371bd8f2bf0908f5f4c8887b6faef0884.tar.bz2 rails-2e0cd0f371bd8f2bf0908f5f4c8887b6faef0884.zip |
10X speed improvements for AS::Dependencies.loadable_constants_for_path
When the autoload_paths start to grows, this methods is quite a hotspot
>> ActiveSupport::Dependencies.autoload_paths.size
=> 49
>> Benchmark.ips { |x| x.report('baseline') { ActiveSupport::Dependencies.loadable_constants_for_path(File.expand_path('app/models/shop')) }}
Calculating -------------------------------------
baseline 90.000 i/100ms
-------------------------------------------------
baseline 1.073k (±20.2%) i/s - 4.950k
After the patch
Calculating -------------------------------------
patched 883.000 i/100ms
-------------------------------------------------
patched 11.050k (±19.7%) i/s - 50.331k
Diffstat (limited to 'actionpack/lib/action_dispatch/http/request.rb')
0 files changed, 0 insertions, 0 deletions