[ https://issues.apache.org/jira/browse/PROTON-597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14045785#comment-14045785 ]
ASF subversion and git services commented on PROTON-597: -------------------------------------------------------- Commit 1606011 from [~gemmellr] in branch 'proton/trunk' [ https://svn.apache.org/r1606011 ] PROTON-597: remove use of the scratch buffer which will always be 512bytes due to minMaxFrameSize, and instead write bytes straight to the output buffer > Improve the memory footprint of TrasportImpl > -------------------------------------------- > > Key: PROTON-597 > URL: https://issues.apache.org/jira/browse/PROTON-597 > Project: Qpid Proton > Issue Type: Improvement > Components: proton-j > Affects Versions: 0.7 > Reporter: Marcel Meulemans > Assignee: Robbie Gemmell > Priority: Minor > Attachments: 24ac15802a67d2eff0257e79827c3a09879ce0a4.patch > > > The memory footprint of the TrasportImpl can be quite high when using large > maxFrameSizes (for example 1MB). In the TrasportImpl of proton-j there are > two classes TrasportOutputAdaptor and FrameParser (TrasportImpl has a member > of both) that hold a ByteBuffer of maxFrameSize throughout their lifetime. In > the case of the 1MB frame size that means that each transport has a fairly > high memory footprint (2MB) considering that this memory is hardly ever used, > i.e. only when there is a frame to transfer in/out and in most cases the > frame will not be maxFrameSize. Because there is a Transport for every > connection the memory usage can become quite high when dealing with many > connections with large maxFrameSize, e.g. 2GB for only 1000 connections. > An proof of concept implementation for reducing the memory footprint by only > allocating the buffers when needed can be found here: > https://github.com/marcelmeulemans/qpid-proton/ > See also the short mailinglist disscusion here: > http://qpid.2158936.n2.nabble.com/High-memory-footprint-of-proton-j-in-ActiveMQ-td7608977.html -- This message was sent by Atlassian JIRA (v6.2#6252)