Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-2714

[C#] Use new .NET Core APIs for better performance

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.10.0
    • csharp
    • None

    Description

      The BinaryDecoder will create temporary buffers to read strings and floats, and then throw the buffers away. These unnecessary allocations add objects to the GC unnecessarily.

       

      See
      https://github.com/apache/avro/blob/ca38fb98f83e0345ca6c49b0660e9fbd03ea3cd5/lang/csharp/src/apache/main/IO/BinaryDecoder.cs#L144
      https://github.com/apache/avro/blob/ca38fb98f83e0345ca6c49b0660e9fbd03ea3cd5/lang/csharp/src/apache/main/IO/BinaryDecoder.cs#L95

       

      We can multi-target the library and use new APIs on .NET Core 2.1 and .NET Standard 2.1 to eliminate these allocations.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              eerhardt Eric Erhardt
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: