[
https://issues.apache.org/jira/browse/FLUME-2197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13779313#comment-13779313
]
Roshan Naik edited comment on FLUME-2197 at 9/26/13 10:23 PM:
--------------------------------------------------------------
in the case of linked lists... for every event inserted into the linked list,
it needs one linked list node object. Each time an event is drained out of the
channel, the node object goes to GC along with the event obj. Switching to
arrays means those node objects are not needed. So one object less going to GC
for each event.
The bigger performance gain (over GC savings) seemed to was come about due to
elimination of CPU time spent in newing up Linked lists node objects.
was (Author: roshan_naik):
in the case of linked lists... for every event inserted into the linked
list, it needs one linked list node object. Each time an event is drained out
of the channel, the node object goes to GC along with the event obj. Switching
to arrays means those node objects are not needed. So one object less going to
GC for each event.
The bigger performance gain (over GC savings) seemed to was come about due to
elimination of CPU time spent in Linked list's node's constructor.
> Memory Channel has GC issues
> ----------------------------
>
> Key: FLUME-2197
> URL: https://issues.apache.org/jira/browse/FLUME-2197
> Project: Flume
> Issue Type: Bug
> Reporter: Hari Shreedharan
> Assignee: Roshan Naik
>
> Due to the fact that we use a LinkedBlockingDeque as the backing queue for
> the MemoryChannel, we end up hitting GC issues more often than we should.
--
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