harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Ellison (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HARMONY-6068) [luni] Improve Integer.toString(int) performance
Date Fri, 09 Jan 2009 10:07:00 GMT

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

Tim Ellison resolved HARMONY-6068.
----------------------------------

    Resolution: Fixed

Thanks to all who worked on this.

I applied the final patch with minor changes:
 - removed the new lines
 - renamed 'numbers' array to 'decimalScale'
 - added a couple of comments, more would be good

Anybody write functional tests that ensure the boundary cases of the algorithm are working
correctly?


> [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
>            Assignee: Tim Ellison
>             Fix For: 5.0M9
>
>         Attachments: HARMONY-6068-final-V2.diff, 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