diff options
| author | Ryuta Kamizono <kamipo@gmail.com> | 2018-01-22 10:46:36 +0900 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-01-22 10:46:36 +0900 | 
| commit | a19e91f0fab13cca61acdb1f33e27be2323b9786 (patch) | |
| tree | 232542abf240f11d86d0dbb4b4d3849b28eba650 /actionpack/lib/abstract_controller/translation.rb | |
| parent | cf1c48478d1f48d763c3bee92d6bc6cfb3e63dba (diff) | |
| download | rails-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 'actionpack/lib/abstract_controller/translation.rb')
0 files changed, 0 insertions, 0 deletions
