RFR 8221623 : Add StackWalker micro benchmarks to jdk repo
Daniel Fuchs
daniel.fuchs at oracle.com
Mon Sep 16 10:40:02 UTC 2019
Hi Brent,
The StackWalker benchmark look good to me.
However I have some doubts about the the logging benchmark.
Is the benchmark run in a single thread? If not then
there doesn't seem any guarantee that each call to publish()
will be immediately followed by a call to reset(), but instead,
if you have two threads, you could see things like:
T1: publish();
T2: publish(); => T1 record would be lost here
T1: reset();
T2: reset(); => reset() would return null here
best regards,
-- daniel
On 13/09/2019 23:07, Brent Christian wrote:
> Hi,
>
> Please review these StackWalker and Throwable benchmarks for addition
> into the JDK microbenchmarks.
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8221623
> Webrev:
> http://cr.openjdk.java.net/~bchristi/8221623/webrev07/
>
> The StackWalker benchmarks use StackWalker's forEach(), walk(), and
> Options to measure retrieval of various types of information from the
> call stack.
>
> The Throwable benchmarks do corresponding exercises; there are also a
> couple of Logging benchmarks.
>
> A JMH @Param is used to test a variety of call stack depths.
>
>
> In the future, we might consider a benchmark for
> Reflection.getCallerClass(). (It is more involved today to benchmark
> that method than at the time these benchmarks were originally written,
> so that one's commented out.) See JDK-8230976.
>
> Thanks,
> -Brent
>
> 1. https://bugs.openjdk.java.net/browse/JDK-8230976
More information about the core-libs-dev
mailing list