commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Bodewig (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (COMPRESS-172) Reuse of buffers while reading stream and skipping stream
Date Sat, 05 Jan 2013 19:32:12 GMT

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

Stefan Bodewig resolved COMPRESS-172.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.5

I did a bit more than you suggested in svn revision 1429363

AFAICS your patch to TarBuffer wouldn't be safe since readRecord (which is public and could
be used by anyone) returns a reference to the result-array.
                
> Reuse of buffers while reading stream and skipping stream
> ---------------------------------------------------------
>
>                 Key: COMPRESS-172
>                 URL: https://issues.apache.org/jira/browse/COMPRESS-172
>             Project: Commons Compress
>          Issue Type: Improvement
>          Components: Archivers
>    Affects Versions: 1.3
>            Reporter: Thomas Mair
>            Priority: Minor
>              Labels: patch
>             Fix For: 1.5
>
>         Attachments: tarbuffer.patch
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> When reading a tar archive from a stream for each record a new buffer is allocated. This
will cause many new objects that later get collected by the garbage collector. The same issue
exists when we are skipping entries. Instead of allocating new buffers we could reuse one
single buffer. This saves some GC overhead as well as the time needed to allocate new memory.
I created a small patch fixing this issue. I did not test this patch thoughtfully, but it
should not cause any trouble, as the buffers never leave their respective classes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message