diff options
| author | Sean Griffin <sean@seantheprogrammer.com> | 2015-09-28 10:37:28 -0400 | 
|---|---|---|
| committer | Sean Griffin <sean@seantheprogrammer.com> | 2015-09-28 10:42:09 -0400 | 
| commit | 3e408a2654727b49ee0e054e27a4f4ca199f72a7 (patch) | |
| tree | 38a478f44d0a1b44e5165db50644702d0859afba /guides/source/autoloading_and_reloading_constants.md | |
| parent | 58750422c57e0cdc7f0a4ab4030fb9a98ec0b9db (diff) | |
| download | rails-3e408a2654727b49ee0e054e27a4f4ca199f72a7.tar.gz rails-3e408a2654727b49ee0e054e27a4f4ca199f72a7.tar.bz2 rails-3e408a2654727b49ee0e054e27a4f4ca199f72a7.zip | |
Speed up `Hash#transform_values` when empty
We're calling this function on an empty hash as part of copying the
attribute set during dirty checking initialization. The new structure
caused a performance regression on loading records from the database.
This causes `User.all.to_a` to perform about 10% faster w/ 10k records.
Calculating -------------------------------------
   User.all - master     9.000  i/100ms
   User.all - sg-fix-ar-regression
                         8.000  i/100ms
-------------------------------------------------
   User.all - master     81.236  (± 7.4%) i/s -    405.000
   User.all - sg-fix-ar-regression
                         89.716  (± 7.8%) i/s -    448.000
Diffstat (limited to 'guides/source/autoloading_and_reloading_constants.md')
0 files changed, 0 insertions, 0 deletions
