You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Aaron Patterson (Jira)" <ji...@apache.org> on 2023/03/08 17:10:00 UTC

[jira] [Created] (AVRO-3722) Eagerly Initialize Instance Variables in Ruby Implementation

Aaron Patterson created AVRO-3722:
-------------------------------------

             Summary: Eagerly Initialize Instance Variables in Ruby Implementation
                 Key: AVRO-3722
                 URL: https://issues.apache.org/jira/browse/AVRO-3722
             Project: Apache Avro
          Issue Type: Improvement
          Components: ruby
    Affects Versions: 1.11.1
            Reporter: Aaron Patterson


Ruby 3.2 introduced an inline cache scheme based on the "shape" of an object.  The object's shape depends on what instance variables were set on the object and in what order.  Lazily initializing an instance variable can cause poor inline cache performance because the order in which the IV is set may not be predictable.

The Ruby version of Avro has an IV that is lazily initialized, and I would like to eagerly initialize it so that we can improve cache performance.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)