I'm sure Alexey will catch it anyway, but if the code is re-written to avoid JNI (which is fine) then the patch should also remove any obsolete native code too.

Thanks for the enhancement!

Regards,
Tim

Maenkova, Evgeniya G wrote:
Thanks and for 5473 too.

-----Original Message-----
From: Alexey Petrenko (JIRA) [mailto:[EMAIL PROTECTED] Sent: Saturday, February 09, 2008 11:02 AM
To: [EMAIL PROTECTED]
Subject: [jira] Assigned: (HARMONY-5478) [classlib] [luni]
Math.floor/ceil/rint can be implemented w/o JNI calls


     [
https://issues.apache.org/jira/browse/HARMONY-5478?page=com.atlassian.ji
ra.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Petrenko reassigned HARMONY-5478:
----------------------------------------

    Assignee: Alexey Petrenko

[classlib] [luni] Math.floor/ceil/rint can be implemented w/o JNI
calls
-----------------------------------------------------------------------
                Key: HARMONY-5478
                URL:
https://issues.apache.org/jira/browse/HARMONY-5478
            Project: Harmony
         Issue Type: Improvement
         Components: Classlib
           Reporter: Evgeniya Maenkova
           Assignee: Alexey Petrenko
        Attachments: luni.math.2


With this improvement the test mentioned below shows 17% boost on my
laptop.
package math;
public class Floor {
    public static void main(String[] args) {
        double d1 = -123123.234;
        double d2 = 1231233.123123;
        double d3 = 23423.23;
        for (int i = 0; i < 2500 * 2500; i ++) {
                Math.floor(d3);
                        Math.ceil(d1);
                        Math.rint(d1);
                Math.floor(d2);
                        Math.ceil(d2);
                        Math.rint(d2);
                        Math.floor(d3);
                        Math.ceil(d3);
                        Math.rint(d3);
                }
        
                long start = System.currentTimeMillis();                
                for (int i = 0; i < 2500 * 2500; i ++) {
                        Math.floor(d3);
                        Math.ceil(d1);
                        Math.rint(d1);
                    Math.floor(d2);
                        Math.ceil(d2);
                        Math.rint(d2);
                        Math.floor(d3);
                        Math.ceil(d3);
                        Math.rint(d3);
                }
                System.out.println("floor result: " +
(System.currentTimeMillis() - start));                          
        }
}
[EMAIL PROTECTED] /cygdrive/c/ecl_311_ws/MicroBenches/bin1
$ /cygdrive/c/home_test/temp_builds/egm_r618602/bin/java -Xem:server
math.Floor
floor result: 17359
[EMAIL PROTECTED] /cygdrive/c/ecl_311_ws/MicroBenches/bin1
$ /cygdrive/c/home_test/temp_builds/egm_r618602_Mj_Mc/bin/java
-Xem:server math
.Floor
floor result: 14876
[EMAIL PROTECTED] /cygdrive/c/ecl_311_ws/MicroBenches/bin1
$

Reply via email to