diff options
author | Taras Tsugrii <ttsugrii@fb.com> | 2018-07-30 10:48:31 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-30 10:49:57 -0700 |
commit | 7dbc5e03f1ced0e3a67e42e0f182579865d26af7 (patch) | |
tree | c181d7456e951a103cccf57b301f49ee7de489ff /src/main/java/com/google/devtools/build/lib/packages | |
parent | f59022b9b19c0086adc9795fd8659f8bc988f747 (diff) |
[Skylark] Use POJOs instead of dynamic proxies.
Java uses dynamically generated proxy classes to access annotation properties
and their methods are ~7X slower than plain getters. According to async-profiler
50%+ of `convertArgumentList` method time is spent in dynamic proxy methods, so
optimizing their performance makes sense.
This also makes the model less anemic, since POJOs can actually provide business
methods.
Closes #5666.
PiperOrigin-RevId: 206608812
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java b/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java index 3798b1fc79..2652671007 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java +++ b/src/main/java/com/google/devtools/build/lib/packages/NativeInfo.java @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.FuncallExpression; -import com.google.devtools.build.lib.syntax.FuncallExpression.MethodDescriptor; +import com.google.devtools.build.lib.syntax.MethodDescriptor; import java.util.Map; /** Base class for native implementations of {@link Info}. */ |