Yes. Right now we have a chance to get a fix if one is required. Ralph
> On May 12, 2016, at 12:58 AM, Mikael Ståldal <[email protected]> > wrote: > > Do we really have to worry so much about this now since Java 9 won't be > released until 10 months or so? > >> On Thu, May 12, 2016 at 7:52 AM, Ralph Goers <[email protected]> >> wrote: >> I need to test it. Walking the Throwable is much slower in Java 9. They >> suggest using the StackWalker API, but walking it from the bottom as we do >> isn’t very efficient. Instead, they recommend doing >> >> walker.walk(s -> s.skip(2).findFirst()); >> >> from the class called by the caller (i.e. - AbstractLogger). Supposedly >> this is much more efficient. However, it needs to be tested to determine how >> much overhead it actually incurs. If it is minimal then we could consider >> just doing it on every call. If not then we need to see if the StackWalker >> API is on par with walking the throwable. >> >> Ralph >> >> >>> On May 11, 2016, at 9:06 PM, Remko Popma <[email protected]> wrote: >>> >>> Oh, that's new to me. That doesn't sound good... Why is this necessary? >>> >>> Sent from my iPhone >>> >>>> On 2016/05/12, at 8:43, Ralph Goers <[email protected]> wrote: >>>> >>>> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >>>>>>> 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 <[email protected]> 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 <[email protected]> >>>>>>>> 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 >>>>>>>>>> <[email protected]> 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 <[email protected]> >>>>>>>>>>> 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 >>>>>>>>>>>> <[email protected]> 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 <[email protected]> >>>>>>> >>>>>> >> > > > > -- > > > Mikael Ståldal > Senior software developer > > Magine TV > [email protected] > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > Privileged and/or Confidential Information may be contained in this message. > If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply email. >
