diff options
author | 2017-08-03 03:27:55 +0200 | |
---|---|---|
committer | 2017-08-03 12:10:06 +0200 | |
commit | 781b23a6e161d2d32e0a1d8fd699a7a0bda113a1 (patch) | |
tree | 723c807acacadfbeeb381bd58ee93d5a3abf5771 /src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java | |
parent | a08bb897569f6d8fd5e0459b67d26c3e9ac69a82 (diff) |
Compute progress message lazily in spawn action.
Consumers using spawn action builder now have access to handy overloads that behind the scene do a lazy String.format. In 95% of cases progress messages are expressible as 0, 1, or 2 argument String.formats.
This saves memory because the format string is constant and shared between all actions, and the captured subjects are usually live on the heap anyway (eg. labels).
Skylark still computes its progress messages eagerly. If we want similar savings there I'd have to follow up with a Skylark proposal.
PiperOrigin-RevId: 164068816
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java index e82a9f1c4c..41ba32c5fd 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/extra/ExtraAction.java @@ -70,7 +70,7 @@ public final class ExtraAction extends SpawnAction { CommandLine argv, ActionEnvironment env, Map<String, String> executionInfo, - String progressMessage, + CharSequence progressMessage, String mnemonic) { super( shadowedAction.getOwner(), |