aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-10-20 13:17:47 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2015-10-20 16:38:14 +0000
commit3f032c9902d718618bb2121a8c5811e6f2647c4c (patch)
tree0d95709b9e1a268e85f954acb802cf7c008038a4 /src
parent2aa1a98d892e75401b27cb7a57db529f025cc645 (diff)
Make 'blaze query --output=build' 25 times faster.
-- MOS_MIGRATED_REVID=105854596
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/OutputFormatter.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/OutputFormatter.java b/src/main/java/com/google/devtools/build/lib/query2/output/OutputFormatter.java
index f6e85b1a32..c773ed4003 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/OutputFormatter.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/OutputFormatter.java
@@ -311,7 +311,10 @@ public abstract class OutputFormatter implements Serializable {
// Display it as a list (and not as a tuple). Attributes can never be tuples.
value = new ArrayList<>((List<?>) value);
}
- Printer.write(out, value);
+ // It is *much* faster to write to a StringBuilder compared to the PrintStream object.
+ StringBuilder builder = new StringBuilder();
+ Printer.write(builder, value);
+ out.print(builder);
out.println(",");
}
out.printf(")\n%n");