[
https://issues.apache.org/jira/browse/BEAM-839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Groh updated BEAM-839:
-----------------------------
Description:
For example, running WordCount on KingLear takes approximately 10 seconds,
while running WordCount on all of Shakespeare takes approximately 5 minutes.
The primary cost is maintaining a PriorityQueue of Watermark Holds, which takes
{{O(n**2)}} time, where {{n}} is the number of keys at a step.
Additionally, there are two other things that cause slowness. The first is use
of UUID.randomUUID in the constructor of DelegatingAggregator, which uses a
shared SecureRandom, which synchronizes on call to {{nextBytes(byte[])}}
was:For example, running WordCount on KingLear takes approximately 10
seconds, while running WordCount on all of Shakespeare takes approximately 5
minutes. Most of this time is spent with the transforms unable to make
progress, as the time is spent updating the minimum hold.
> The DirectRunner slows down significantly as the number of keys increases
> -------------------------------------------------------------------------
>
> Key: BEAM-839
> URL: https://issues.apache.org/jira/browse/BEAM-839
> Project: Beam
> Issue Type: Bug
> Reporter: Thomas Groh
> Assignee: Thomas Groh
>
> For example, running WordCount on KingLear takes approximately 10 seconds,
> while running WordCount on all of Shakespeare takes approximately 5 minutes.
> The primary cost is maintaining a PriorityQueue of Watermark Holds, which
> takes {{O(n**2)}} time, where {{n}} is the number of keys at a step.
> Additionally, there are two other things that cause slowness. The first is
> use of UUID.randomUUID in the constructor of DelegatingAggregator, which uses
> a shared SecureRandom, which synchronizes on call to {{nextBytes(byte[])}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)