harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Yu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-6068) [luni] Improve Integer.toString(int) performance
Date Fri, 09 Jan 2009 06:42:59 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-6068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662256#action_12662256
] 

Jim Yu commented on HARMONY-6068:
---------------------------------

Regis,

Because the first algorithm has better performance for small integers while the second one
has better performance for big integers. We can get an overall high performance for all integers
if we use different algorithm for different integers. These algorithms can definitely be applied
to Short and Long just with minor change.

> [luni] Improve Integer.toString(int) performance
> ------------------------------------------------
>
>                 Key: HARMONY-6068
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6068
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>    Affects Versions: 5.0M8
>            Reporter: Jim Yu
>             Fix For: 5.0M9
>
>         Attachments: HARMONY-6068-final.diff, HARMONY-6068-merged-v1.diff, HARMONY-6068-merged-v2.diff,
HARMONY-6068.diff
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> I very agree with Aleksey Shipilev' comment [1] for JIRA HARMONY-6056 as following, so
I implement an optimized algorithm for  Integer.toString(int) method. Thanks to Aleksey Shipilev's
benchmark,  here are the test results[2] on my windows platform.
> [1] "Ok, we can implement the in-place Integer.toString() and specialize
> the radix-10 conversion in Integer. Then Classlib performance guys
> might use the inplace conversion to optimize StringBuilder performance
> or even catch the concatenation like J9 does.
> My idea is to share whatever optimization between all VMs that use the Classlib."
> [2] 
> Result for Harmony java6 branch:
> (String)base + (int)add:
> -------------------------------------------
>  base length (vars with rows): 0..2..10
>   add length (vars with cols): 0..2..10
>  loop duration = 100 msecs
>  target variance = 0.05
> ops/msec, the more the better:
> 6721, 6096, *4650, *3846, *3178,
> *8080, *5833, *4447, 3731, 3048,
> *7985, *5848, 4788, 3727, *3114,
> *7891, 5592, *4389, *3560, 3048,
> 8388, 5607, *4522, 3727, 3051,
> After applied my patch:
> (String)base + (int)add:
> -------------------------------------------
>  base length (vars with rows): 0..2..10
>   add length (vars with cols): 0..2..10
>  loop duration = 100 msecs
>  target variance = 0.05
> ops/msec, the more the better:
> 8322, 6721, 4791, 4788, 4788,
> 8388, 6721, 5156, *5012, 4797,
> 8388, 6707, 5161, *4963, 4795,
> 8388, 6707, *5126, 4802, 4788,
> *8048, 6700, *5021, 4802, *4687,

-- 
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