Aleksey, if JNI stub has no significant impact here we can check another solution, that was already proposed by Maxim: process 'Math.sqrt' instruction as API magic in JIT. It will eliminate all negative side-effects related to CC. What do you think about it?
Another possible solution here is results caching in case of quasi-constant parameters. Do you know if RI has such an optimization? On Nov 8, 2007 4:47 PM, Aleksey Shipilev <[EMAIL PROTECTED]> wrote: > Hi, Yuri, > > I had applied LightJNI to Harmony-r589548 and here come the results > for sqrt() tests again. I have reproduced the boost on Dacapo:jython > and Dacapo:lusearch, so I presume the patch was applied correctly. I > have also specify the interested method explicitly: > -XX:jit.arg.codegen.light_jni.light_jni_methods=::Java_java_lang_Math_sqrt > > In short, LightJNI brings another 5% of boost, but Harmony is still > 300% slower than Sun 1.6 on sqrt() microtest. > > That's probably due to presence of call. There are really have two > directions where to go: > a. inline hot native methods into JITted code (sic!) :) > b. implement hot native methods as magics > > Details: > > == Harmony-r589548 (clean) > ======================================================== > Dacapo:lusearch: 2900 msecs > > Warmup finished: 4.527292719905836E10 > Math Result = 2.1081849486439312E10 in 12344ms > StrictMath Result = 2.1081849486439312E10 in 12109ms > > > == Harmony-r589548 (+ LightJNI) > ===================================================== > Dacapo:lusearch: 2900 msecs > > Warmup finished: 4.527292719905836E10 > Math Result = 2.1081849486439312E10 in 12078ms > StrictMath Result = 2.1081849486439312E10 in 11921ms > > > == Harmony-r589548 (+ intrinsic in native code) > =========================================== > Dacapo:lusearch: 2200 msecs > > Warmup finished: 4.527292719913238E10 > Math Result = 2.1081849486508232E10 in 4140ms > StrictMath Result = 2.1081849486439312E10 in 12172ms > > > == Harmony-r589548 (+ intrinsic in native code + LightJNI) > =================================== > Dacapo:lusearch: 2100 msecs > > Warmup finished: 4.527292719913238E10 > Math Result = 2.1081849486508232E10 in 3904 ms > StrictMath Result = 2.1081849486439312E10 in 12047ms > > > Thanks, > Aleksey. > ESSD, Intel. > > > On Nov 7, 2007 7:34 PM, Yuri Kashnikoff <[EMAIL PROTECTED]> wrote: > > > Yuri Kashnikoff did this patch and I hope we will commit it before M4. > > > Yuri, can you share your patch with us? > > Yes, Mikhail. LightJNI available by > > https://issues.apache.org/jira/browse/HARMONY-5084. > > All information about LightJNI provided(just use the link). > -- Mikhail Fursov
