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

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

     [ https://issues.apache.org/jira/browse/AVRO-3722?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tim Perkins resolved AVRO-3722.
-------------------------------
    Fix Version/s: 1.12.0
                   1.11.2
       Resolution: Fixed

> 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
>            Priority: Trivial
>              Labels: pull-request-available
>             Fix For: 1.12.0, 1.11.2
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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)