instance method attribute_method_matchers_cache

Ruby on Rails 5.2.8.1

Since v5.2.8.1 Last seen in v7.0.10 Private

Available in: v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10

Signature

attribute_method_matchers_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 349
        def attribute_method_matchers_cache
          @attribute_method_matchers_cache ||= Concurrent::Map.new(initial_capacity: 4)
        end

Defined in activemodel/lib/active_model/attribute_methods.rb line 349 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveModel::AttributeMethods::ClassMethods

Type at least 2 characters to search.

↑↓ navigate · open · esc close