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
- links to