You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2020/03/19 22:30:00 UTC

[jira] [Updated] (THRIFT-5133) TCompactProtocol string allocation improvement

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

Jens Geyer updated THRIFT-5133:
-------------------------------
    Summary: TCompactProtocol string allocation improvement  (was: netstd: TCompactProtocol string allocation improvement)

> TCompactProtocol string allocation improvement
> ----------------------------------------------
>
>                 Key: THRIFT-5133
>                 URL: https://issues.apache.org/jira/browse/THRIFT-5133
>             Project: Thrift
>          Issue Type: Bug
>          Components: netstd - Library
>    Affects Versions: 0.13.0
>            Reporter: Mikel Blanchard
>            Assignee: Mikel Blanchard
>            Priority: Major
>             Fix For: 0.14.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> WriteStringAsync & ReadStringAsync in TCompactProtocol each allocate a buffer to store UTF8 bytes when converting to and from strings. This buffer has to be cleaned up by the garbage collector (at some point), which can lead to a lot of pressure on the hosting process in high-volume scenarios. Basically a lot of short-lived buffers are being emitted by the library. It's an easy tweak to use a pooled buffer for this work which greatly improves the performance under load.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)