My guess is that StackWalker provides additional information beyond
the array of classes
supplied by the SecurityManager, though I've not done a thorough analysis yet.

A quick targeted benchmark of our current implementations:

Benchmark                                               Mode  Cnt
 Score        Error  Units
StackTraceBenchmark.defaultJava8        thrpt    3  113965.921 ±
119706.986  ops/s
StackTraceBenchmark.securityManager  thrpt    3  788004.237 ±  82578.567  ops/s
StackTraceBenchmark.stackWalker         thrpt    3  182902.031 ±
39018.395  ops/s


-ck

On Tue, Aug 7, 2018 at 7:20 PM, Ralph Goers <[email protected]> wrote:
> I have to wonder why using the security manager is faster than using 
> StackWalker. StackWalker was created just for this purpose. Is the way it is 
> implemented the problem?
>
> Ralph
>
>
>> On Aug 7, 2018, at 1:34 PM, cakofony <[email protected]> wrote:
>>
>> GitHub user cakofony opened a pull request:
>>
>>    https://github.com/apache/logging-log4j2/pull/202
>>
>>    [LOG4J2-2391] Improve ThrowableProxy performace on java 9+
>>
>>    Share the SecurityManager implementation of getCurrentStackTrace
>>    with the java 9 implementation.
>>
>> You can merge this pull request into a Git repository by running:
>>
>>    $ git pull https://github.com/cakofony/logging-log4j2 
>> java9_getcurrentstacktrace
>>
>> Alternatively you can review and apply these changes as the patch at:
>>
>>    https://github.com/apache/logging-log4j2/pull/202.patch
>>
>> To close this pull request, make a commit to your master/trunk branch
>> with (at least) the following in the commit message:
>>
>>    This closes #202
>>
>> ----
>> commit 52bf8569e8e9881d0999156c31d99b99f28e6e73
>> Author: Carter Kozak <ckozak@...>
>> Date:   2018-08-07T20:27:10Z
>>
>>    [LOG4J2-2391] Improve ThrowableProxy performace on java 9+
>>
>>    Share the SecurityManager implementation of getCurrentStackTrace
>>    with the java 9 implementation.
>>
>> ----
>>
>>
>> ---
>>
>
>

Reply via email to