You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Kenneth Knowles (JIRA)" <ji...@apache.org> on 2018/01/30 21:56:00 UTC

[jira] [Commented] (BEAM-3572) Reduce inefficient allocations in coders

    [ https://issues.apache.org/jira/browse/BEAM-3572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16345875#comment-16345875 ] 

Kenneth Knowles commented on BEAM-3572:
---------------------------------------

My reading of {{IterableLikeCoder}} is that it is stateless. Did I miss something?

> Reduce inefficient allocations in coders
> ----------------------------------------
>
>                 Key: BEAM-3572
>                 URL: https://issues.apache.org/jira/browse/BEAM-3572
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>            Reporter: Bill Neubauer
>            Assignee: Bill Neubauer
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> BufferedElementCountingOutputStream's constructor allocates a new buffer to wrap the input OutputStream. This gets called on each invocation of encode() from IterableLikeCoder. Since Coder is designed to be stateless, but this buffer holds state and isn't threadsafe, we can't just have the caller manage the buffer. Modifying the constructor to use a pool of buffers to reduce the number of allocations will help performance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)