1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/test
Ryuta Kamizono 2b5dacb43d Change timestamp_attributes_for_{create,update} from symbol to string
`timestamp_attributes_for_{create,update}` is defined as symbol but
always used as string with `to_s`. This allocates extra strings. To
avoid extra allocation, change the definitions from symbol to string.

```ruby
pp ObjectSpace::AllocationTracer.trace {
  1_000.times { |i|
    Post.create!
  }
}
```

Before:

```
["~/rails/activerecord/lib/active_record/timestamp.rb", 121]=>[1002, 0, 750, 0, 1, 18528],
["~/rails/activerecord/lib/active_record/timestamp.rb", 105]=>[1002, 0, 750, 0, 1, 7720],
["~/rails/activerecord/lib/active_record/timestamp.rb", 101]=>[1002, 0, 750, 0, 1, 7720],
["~/rails/activerecord/lib/active_record/timestamp.rb", 109]=>[1002, 0, 750, 0, 1, 13896],
["~/rails/activerecord/lib/active_record/timestamp.rb", 61]=>[4008, 0, 3000, 0, 1, 30880],
```

After:

```
["~/rails/activerecord/lib/active_record/timestamp.rb", 120]=>[1000, 0, 756, 0, 1, 17184],
["~/rails/activerecord/lib/active_record/timestamp.rb", 104]=>[1000, 0, 756, 0, 1, 7160],
["~/rails/activerecord/lib/active_record/timestamp.rb", 100]=>[1000, 0, 756, 0, 1, 7160],
["~/rails/activerecord/lib/active_record/timestamp.rb", 108]=>[1000, 0, 756, 0, 1, 12888],
```
2017-01-01 07:07:45 +09:00
..
active_record/connection_adapters Add more rubocop rules about whitespaces 2016-10-29 01:17:49 -02:00
assets Use YAML to serialize schema cache 2016-11-27 22:09:58 -05:00
cases Change timestamp_attributes_for_{create,update} from symbol to string 2017-01-01 07:07:45 +09:00
fixtures fix #create_fixtures when equal table names in different databases 2016-12-21 11:09:29 +01:00
migrations modernizes hash syntax in activerecord 2016-08-06 19:37:57 +02:00
models Should not update children when the parent creation with no reason 2016-12-29 16:24:57 +09:00
schema Should not update children when the parent creation with no reason 2016-12-29 16:24:57 +09:00
support fix #create_fixtures when equal table names in different databases 2016-12-21 11:09:29 +01:00
.gitignore
config.example.yml Fix tests for prepared_statements: false and queries hitting #select_all 2016-11-19 21:52:52 +05:30
config.rb