> On Mar 13, 2017, at 12:04 PM, Daniel Fuchs <[email protected]> wrote:
> 
> Hi Ralph,
> 
> I see one issue in your benchmark:
> 
> StackWalker walker = 
> StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE);
> 
> will return a new StackWalker every time it's called.
> I'd suggest to create the StackWalker only once and put it in
> a private (or package) static.
> This will eliminate the creation cost of StackWalker from the
> benchmark.

OK - I will do that when I fix the other bug.  But if you can suggest some 
other way to bail out of the loop after I have found the correct StackFrame 
that would help as well.

Ralph

> 
> On 13/03/2017 18:52, Ralph Goers wrote:
>> The “search” that uses StackWalker probably walks it to the end because
>> I had to use test() to determine the StackFrame to return. If you can
>> provide a better algorithm to use I’d be happy to retest it. If I=0 is
>> the current StackFrame, then that is what we do. Please take a look at
>> the stackwalkerSearch method
>> at 
>> https://github.com/rgoers/stackwalker-vs-Reflection_getCallerClass/blob/master/java9/src/main/java/org/github/arnaudroger/StackWalkerGetCallerClass.java.
> 
> I'm curious as to why using reduce() as opposed to findFirst().
> Won't reduce() continue to walk the stack even when the searched
> frame is found?
> 
> best regards,
> 
> -- daniel
> 
> 
> 
> 
> 


Reply via email to