logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ralph Goers <ralph.go...@dslextreme.com>
Subject Re: Location performance
Date Wed, 11 May 2016 23:43:09 GMT
It would be different. We would be getting the location info in AbstractLogger in every API
method. You wouldn't be able to delay it until it is requested/required.

Ralph

> On May 11, 2016, at 3:21 PM, Remko Popma <remko.popma@gmail.com> wrote:
> 
> The current way to get location information is not garbage-free either, so this is not
a problem. 
> 
> Have you tried benchmarking this? I'm very curious!
> 
> Sent from my iPhone
> 
>> On 2016/05/12, at 2:06, Ralph Goers <ralph.goers@dslextreme.com> wrote:
>> 
>> For those you not following the OpenJDK mailing list, Mandy is recommending we do
>> 
>> walker.walk(s -> s.skip(2).findFirst());
>> 
>> in every logger method to capture the stack frame information. We might have to call
it twice to get the Class as well. This will probably break the garbage free tests and it
might incur more overhead then is acceptable. We will have to do some testing to find out.
>> 
>> Ralph
>> 
>> 
>> 
>>> On May 10, 2016, at 10:41 AM, Ralph Goers <ralph.goers@dslextreme.com>
wrote:
>>> 
>>> We don’t use that for getting the caller location. We only use the throwable.
You are thinking of the code that needs to get the caller’s Class object.
>>> 
>>> Ralph
>>> 
>>>> On May 10, 2016, at 10:33 AM, Matt Sicker <boards@gmail.com> wrote:
>>>> 
>>>> JDK 9 should be blocking the sun.reflect classes which means we fall back
to SecurityManager or Throwable depending on the method.
>>>> 
>>>> On 10 May 2016 at 11:51, Ralph Goers <ralph.goers@dslextreme.com> wrote:
>>>>> I just responded to that thread with the results below.  I was hoping
we wouldn’t need to use the StackWalker API.  Now I am wondering if it is any faster. My
initial tests showed it was much faster than using the Throwable, but that doesn’t mean
much if that is now slower.
>>>>> 
>>>>> Ralph
>>>>> 
>>>>>> On May 10, 2016, at 9:47 AM, Ralph Goers <ralph.goers@dslextreme.com>
wrote:
>>>>>> 
>>>>>> No. On the openjdk list Mandy said that walking the Throwable as
we are doing should be faster due to improvements made in JDK-8150778.
>>>>>> 
>>>>>> Ralph
>>>>>> 
>>>>>>> On May 10, 2016, at 9:21 AM, Paul Benedict <pbenedict@apache.org>
wrote:
>>>>>>> 
>>>>>>> Are you using the new JDK 9 APIs to walk the stack?
>>>>>>> 
>>>>>>> Cheers,
>>>>>>> Paul
>>>>>>> 
>>>>>>>> On Tue, May 10, 2016 at 11:20 AM, Ralph Goers <ralph.goers@dslextreme.com>
wrote:
>>>>>>>> Supposedly Java 9 was supposed to improve the performance
of walking the stack trace. However, the numbers I get below indicate to me that they are
moving in the opposite direction.  Am I misreading this?
>>>>>>>> 
>>>>>>>> Ralph
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> java version "1.7.0_80
>>>>>>>> 
>>>>>>>> Benchmark                                               
             Mode  Samples       Score      Error  Units
>>>>>>>> o.a.l.l.p.j.AsyncAppenderLog4j2LocationBenchmark.throughputSimple
   thrpt       20  124819.285 ± 3003.918  ops/s
>>>>>>>> 
>>>>>>>> java version "1.8.0_65"
>>>>>>>> 
>>>>>>>> Benchmark                                               
             Mode  Samples       Score      Error  Units
>>>>>>>> o.a.l.l.p.j.AsyncAppenderLog4j2LocationBenchmark.throughputSimple
   thrpt       20  123209.746 ± 3064.672  ops/s
>>>>>>>> 
>>>>>>>> 
>>>>>>>> java version "9-ea"
>>>>>>>> Java(TM) SE Runtime Environment (build 9-ea+116)
>>>>>>>> 
>>>>>>>> Benchmark                                               
             Mode  Samples      Score      Error  Units
>>>>>>>> o.a.l.l.p.j.AsyncAppenderLog4j2LocationBenchmark.throughputSimple
   thrpt       20  96090.261 ± 4565.763  ops/s
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Matt Sicker <boards@gmail.com>
>>> 
>> 

Mime
View raw message