Details
Description
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,
Attachments
Attachments
Issue Links
- is related to
-
HARMONY-6056 [classlib][jit][opt][performance] Optimize heap allocations in String(String, int) constructor for JIT
- Resolved
- relates to
-
HARMONY-6070 [luni] Improve Long.toString(long) performance
- Open