harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Fursov (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HARMONY-4553) [drlvm][jit][perf]String _compareTo and _regionMatches calls replacement by REP CMPSW instructions
Date Wed, 24 Oct 2007 10:13:51 GMT

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

Mikhail Fursov resolved HARMONY-4553.
-------------------------------------

    Resolution: Fixed

the second part is committed with revision 587851.

> [drlvm][jit][perf]String _compareTo and _regionMatches calls replacement by REP CMPSW
instructions
> --------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4553
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4553
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>            Reporter: Vladimir Strigun
>            Assignee: Mikhail Fursov
>         Attachments: HARMONY-4553-v2-em64t.patch, HARMONY-4553-v2-em64t.patch, HARMONY-4553-v2-em64t.patch,
HARMONY-4553-v2.patch, HARMONY-4553-v2.patch, HARMONY-4553-v2.patch, HARMONY-4553-v2.patch,
HARMONY-4553.patch
>
>
> The test below shows that String.compareTo(String) method significantly slower in comparison
win Sun. 
> Results of test execution:
> java client: 1700 msec
> java server: 0 
> harmony server: 3360 msec
> Small test:
> public class CompareToTest{
>     public static void main(String[] args){
>         String st1 = new String("0 1 2 3 4 5 6 7 8 9");
>         String st2 = new String("0 1 2 3 4 5 6 7 8 9");
>         //warmup VM
>         stringCompareTo(st1, st2, 100000);
>         long start = System.currentTimeMillis();
>         stringCompareTo(st1, st2, 20000000);
>         long end = System.currentTimeMillis() -start;
>         System.out.println("String compareTo for equals strings completed in "+end +"
msec");
>         st1 = new String("0 1 2 3 4 5 6 7 8 9abc");
>         //warmup VM
>         stringCompareTo(st1, st2, 100000);
>         long start1 = System.currentTimeMillis();
>         stringCompareTo(st1, st2, 20000000);
>         long end1 = System.currentTimeMillis() -start1;
>         System.out.println("String compareTo for non equals strings completed in "+end1
+" msec");
>         System.out.println("Total in "+(end1+end) +" msec");
>     }
>     public static void stringCompareTo(String st1, String st2, int num){
>         for(int x=0; x<num; x++) {
>             st1.compareTo(st2);
>         }
>     }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message