aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/validations/with.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-01-22 10:46:36 +0900
committerGitHub <noreply@github.com>2018-01-22 10:46:36 +0900
commita19e91f0fab13cca61acdb1f33e27be2323b9786 (patch)
tree232542abf240f11d86d0dbb4b4d3849b28eba650 /activemodel/lib/active_model/validations/with.rb
parentcf1c48478d1f48d763c3bee92d6bc6cfb3e63dba (diff)
downloadrails-a19e91f0fab13cca61acdb1f33e27be2323b9786.tar.gz
rails-a19e91f0fab13cca61acdb1f33e27be2323b9786.tar.bz2
rails-a19e91f0fab13cca61acdb1f33e27be2323b9786.zip
PERF: Recover `changes_applied` performance (#31698)
#30985 caused `object.save` performance regression since calling `changes` in `changes_applied` is very slow. We don't need to call the expensive method in `changes_applied` as long as `@attributes` is tracked by mutation tracker. https://gist.github.com/kamipo/1a9f4f3891803b914fc72ede98268aa2 Before: ``` Warming up -------------------------------------- create_string_columns 73.000 i/100ms Calculating ------------------------------------- create_string_columns 722.256 (± 5.8%) i/s - 3.650k in 5.073031s ``` After: ``` Warming up -------------------------------------- create_string_columns 96.000 i/100ms Calculating ------------------------------------- create_string_columns 950.224 (± 7.7%) i/s - 4.800k in 5.084837s ```
Diffstat (limited to 'activemodel/lib/active_model/validations/with.rb')
0 files changed, 0 insertions, 0 deletions