• S
    Clean up the implementation of AR::Dirty · 8e633e50
    Sean Griffin 提交于
    This moves a bit more of the logic required for dirty checking into the
    attribute objects. I had hoped to remove the `with_value_from_database`
    stuff, but unfortunately just calling `dup` on the attribute objects
    isn't enough, since the values might contain deeply nested data
    structures. I think this can be cleaned up further.
    
    This makes most dirty checking become lazy, and reduces the number of
    object allocations and amount of CPU time when assigning a value. This
    opens the door (but doesn't quite finish) to improving the performance
    of writes to a place comparable to 4.1
    8e633e50
serialized.rb 1.3 KB