instance method
attribute_method_patterns_cache
Ruby on Rails 7.1.6
Since v7.1.6 PrivateSignature
attribute_method_patterns_cache()
The methods method_missing and respond_to? of this module are invoked often in a typical rails, both of which invoke the method matched_attribute_method. The latter method iterates through an array doing regular expression matches, which results in a lot of object creations. Most of the time it returns a nil match. As the match result is always the same given a method_name, this cache is used to alleviate the GC, which ultimately also speeds up the app significantly (in our case our test suite finishes 10% faster with this cache).
Source
# File activemodel/lib/active_model/attribute_methods.rb, line 430
def attribute_method_patterns_cache
@attribute_method_patterns_cache ||= Concurrent::Map.new(initial_capacity: 4)
end
Defined in activemodel/lib/active_model/attribute_methods.rb line 430
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::AttributeMethods::ClassMethods