You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Mikhail Fursov (JIRA)" <ji...@apache.org> on 2007/10/24 09:54:50 UTC
[jira] Updated: (HARMONY-4553) [drlvm][jit][perf]String _compareTo
and _regionMatches calls replacement by REP CMPSW instructions
[ https://issues.apache.org/jira/browse/HARMONY-4553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mikhail Fursov updated HARMONY-4553:
------------------------------------
Patch Info: [Patch Available]
Estimated Complexity: Advanced
Summary: [drlvm][jit][perf]String _compareTo and _regionMatches calls replacement by REP CMPSW instructions (was: [drlvm][jit][perf]String.compareTo method works slowly)
> [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.