[ 
https://issues.apache.org/jira/browse/BEAM-11727?focusedWorklogId=549516&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-549516
 ]

ASF GitHub Bot logged work on BEAM-11727:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 08/Feb/21 11:28
            Start Date: 08/Feb/21 11:28
    Worklog Time Spent: 10m 
      Work Description: scwhittle commented on a change in pull request #13861:
URL: https://github.com/apache/beam/pull/13861#discussion_r571973144



##########
File path: 
runners/core-java/src/main/java/org/apache/beam/runners/core/metrics/ExecutionStateSampler.java
##########
@@ -36,8 +36,7 @@
 /** Monitors the execution of one or more execution threads. */
 public class ExecutionStateSampler {
 
-  private final ConcurrentSkipListSet<ExecutionStateTracker> activeTrackers =
-      new ConcurrentSkipListSet<>();
+  private final HashSet<ExecutionStateTracker> activeTrackers = new 
HashSet<>();

Review comment:
       Thanks! I forgot about the Java annotations.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 549516)
    Time Spent: 1h  (was: 50m)

> Optimize ExecutionStateSampler
> ------------------------------
>
>                 Key: BEAM-11727
>                 URL: https://issues.apache.org/jira/browse/BEAM-11727
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-core
>            Reporter: Sam Whittle
>            Assignee: Sam Whittle
>            Priority: P2
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> Showed up as 1.5% of CPU on Nexmark 11 streaming benchmark run.
> It appears to be using a ConcurrentSkipListSet and most of the cpu is 
> relatedd to inserts/removes in that, involving the system hash of the entries 
> as that is used for ordering.
> The consistent ordering is unnecessary. Additionally for other reasons, 
> removal and iteration is already synchronized and so performance will likely 
> be better just using a synchronized HashMap and synchronizing in the add case.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to