[
https://issues.apache.org/jira/browse/FLINK-2653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14740879#comment-14740879
]
ASF GitHub Bot commented on FLINK-2653:
---------------------------------------
Github user greghogan commented on the pull request:
https://github.com/apache/flink/pull/1115#issuecomment-139558118
Stephan, while looking for the `UnionWithTempOperator` bug elsewhere, I
noticed that `AllReduceDriver.run()`, `ReduceDriver.run()`, and
`ReduceCombinerDriver.sortAndCombine()` locally create new objects before every
call to `MutableObjectIterator.next(T)`. This looks to be double allocating new
objects in the case that the `TypeSerializer` does not support object reuse.
Also, `ReduceCombinerDriver.sortAndCombine.run()` is not switching on
`objectReuseEnabled`.
> Enable object reuse in MergeIterator
> ------------------------------------
>
> Key: FLINK-2653
> URL: https://issues.apache.org/jira/browse/FLINK-2653
> Project: Flink
> Issue Type: Improvement
> Components: Distributed Runtime
> Affects Versions: master
> Reporter: Greg Hogan
>
> MergeIterator currently discards given reusable objects and simply returns a
> new object from the JVM heap. This inefficiency has a noticeable impact on
> garbage collection and runtime overhead (~5% overall performance by my
> measure).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)