You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@logging.apache.org by Ralph Goers <ra...@dslextreme.com> on 2018/10/05 20:53:45 UTC

Re: [GitHub] logging-log4j2 pull request #202: [LOG4J2-2391] Improve ThrowableProxy perfo...

Carter,

Did you check in this benchmark? I posted these numbers on Jigsaw-dev and they would like to see the benchmark.

Ralph

> On Aug 7, 2018, at 8:10 PM, Carter Kozak <c4...@gmail.com> wrote:
> 
> 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 <ra...@dslextreme.com> 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 <gi...@git.apache.org> 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 <ck...@...>
>>> 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.
>>> 
>>> ----
>>> 
>>> 
>>> ---
>>> 
>> 
>> 
> 



Re: [GitHub] logging-log4j2 pull request #202: [LOG4J2-2391] Improve ThrowableProxy perfo...

Posted by Carter Kozak <c4...@gmail.com>.
Hi Ralph,

I've pushed my benchmark to a branch, it's not in a state that I'd be
comfortable merging to master.
I had to copy implementations into the benchmark because the java 9
version overshadows the default.

Commit is here:
http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/64bfd314

Best,
-ck
On Fri, Oct 5, 2018 at 4:54 PM Ralph Goers <ra...@dslextreme.com> wrote:
>
> Carter,
>
> Did you check in this benchmark? I posted these numbers on Jigsaw-dev and they would like to see the benchmark.
>
> Ralph
>
> > On Aug 7, 2018, at 8:10 PM, Carter Kozak <c4...@gmail.com> wrote:
> >
> > 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 <ra...@dslextreme.com> 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 <gi...@git.apache.org> 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 <ck...@...>
> >>> 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.
> >>>
> >>> ----
> >>>
> >>>
> >>> ---
> >>>
> >>
> >>
> >
>
>