You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2010/08/05 22:52:18 UTC
[jira] Updated: (THRIFT-831) FramedTransport implementation that
reuses its buffers
[ https://issues.apache.org/jira/browse/THRIFT-831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bryan Duxbury updated THRIFT-831:
---------------------------------
Priority: Blocker (was: Major)
> FramedTransport implementation that reuses its buffers
> ------------------------------------------------------
>
> Key: THRIFT-831
> URL: https://issues.apache.org/jira/browse/THRIFT-831
> Project: Thrift
> Issue Type: New Feature
> Components: Library (Java)
> Reporter: Bryan Duxbury
> Assignee: Bryan Duxbury
> Priority: Blocker
> Fix For: 0.4
>
> Attachments: thrift-831.patch
>
>
> The current version of TFramedTransport allocates new read and write buffers every time a frame is read or written. This is wasteful, leading to expensive byte[] allocations, soaking up cpu and GC time unnecessarily.
> It would be handy to have an implementation that automatically reuses existing buffers if they're big enough, and grows them as appropriate. My testing shows this to be as much as a 60% reduction in CPU cost in dealing with the transport.
> I think it's important for us to keep separate implementations available, since different applications might prefer to spend the CPU time to avoid having a big chunk of memory permanently allocated.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.