diff options
author | ulfjack <ulfjack@google.com> | 2017-11-30 07:15:05 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-11-30 07:17:39 -0800 |
commit | 5670fb29734483f8d2008cb01dddc5f3dd129cf9 (patch) | |
tree | 0430e14fe9bdf942e1ed346f63c4c1cf89012e87 /src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java | |
parent | 16a5bd9fde00a418e16f30e18270aeb198d36218 (diff) |
Simplify tagged event handling.
Don't make copies of Events on replay. The same events may be replayed a lot,
so it's better to copy before storing the events. Also avoid a copy if the
tag doesn't actually change.
The intent of this change is to reduce gc churn on incremental builds. When
I wrote this change (~a year ago), this was a noticable source of gc churn in
some benchmarks I ran at the time.
PiperOrigin-RevId: 177450696
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java index 840b5801e4..6860433c01 100644 --- a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java +++ b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluatorContext.java @@ -231,9 +231,8 @@ class ParallelEvaluatorContext { @Override public void accept(TaggedEvents events) { - String tag = events.getTag(); for (Event e : events.getEvents()) { - reporter.handle(e.withTag(tag)); + reporter.handle(e); } } } |