diff options
author | Michajlo Matijkiw <michajlo@google.com> | 2016-11-02 15:42:00 +0000 |
---|---|---|
committer | Laszlo Csomor <laszlocsomor@google.com> | 2016-11-02 15:57:50 +0000 |
commit | 436800456165a60009d90ab55cce11fa10d8b756 (patch) | |
tree | 4f9e76e5326a7b29bc2008b1fcb43e5c3a916e53 /src/main/java/com/google/devtools | |
parent | 3c365e102b8cc46b04ff9a2792ae14001b5240d3 (diff) |
Improve overhead/safety of RecorderStream
Bypass converting bytes to string - RecordOutputStream is typically used to
wrap stdout/err, which we write bytes to, the string step is waste.
Make defensive copies of byte[]s passed to Event since Event doesn't.
--
MOS_MIGRATED_REVID=137949714
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/events/ReporterStream.java | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java b/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java index e72f4a96b9..1669fa7b62 100644 --- a/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java +++ b/src/main/java/com/google/devtools/build/lib/events/ReporterStream.java @@ -14,11 +14,9 @@ package com.google.devtools.build.lib.events; -import static java.nio.charset.StandardCharsets.ISO_8859_1; - import com.google.devtools.build.lib.util.Preconditions; - import java.io.OutputStream; +import java.util.Arrays; /** * An OutputStream that delegates all writes to a Reporter. @@ -49,11 +47,11 @@ public final class ReporterStream extends OutputStream { @Override public void write(byte[] bytes) { - reporter.handle(Event.of(eventKind, null, bytes)); + write(bytes, 0, bytes.length); } @Override public void write(byte[] bytes, int offset, int len) { - reporter.handle(Event.of(eventKind, null, new String(bytes, offset, len, ISO_8859_1))); + reporter.handle(Event.of(eventKind, null, Arrays.copyOfRange(bytes, offset, offset + len))); } } |