[ https://issues.apache.org/jira/browse/HARMONY5207?page=com.atlassian.jira.plugin.system.issuetabpanels:alltabpanel ]
Aleksey Shipilev updated HARMONY5207:

Attachment: HashMapTest.java
HashMapTest.java
microbenchmark for the patch
=== Clean Harmony (Xms128m Xmx128m Xem:server_aggressive):
HashMapTest started
map size: 10
cycle count: 10000000
iterations: 10
Iteration 0, put = 13843, keys iteration = 24172, values iteration = 22610, entries iteration = 19375, get = 8718
Iteration 1, put = 13266, keys iteration = 24219, values iteration = 22609, entries iteration = 19328, get = 8344
Iteration 2, put = 13203, keys iteration = 24031, values iteration = 22625, entries iteration = 19391, get = 8281
Iteration 3, put = 13235, keys iteration = 24031, values iteration = 22562, entries iteration = 19375, get = 8328
Iteration 4, put = 13219, keys iteration = 24203, values iteration = 22688, entries iteration = 19344, get = 8296
Iteration 5, put = 13172, keys iteration = 23782, values iteration = 22515, entries iteration = 19375, get = 8391
Iteration 6, put = 13234, keys iteration = 24188, values iteration = 22672, entries iteration = 19437, get = 8281
Iteration 7, put = 13219, keys iteration = 24188, values iteration = 22531, entries iteration = 19375, get = 8375
Iteration 8, put = 13203, keys iteration = 23828, values iteration = 22531, entries iteration = 19344, get = 8344
Iteration 9, put = 13234, keys iteration = 24000, values iteration = 22500, entries iteration = 19375, get = 8344
=== Patched Harmony (Xms128m Xmx128m Xem:server_aggressive):
HashMapTest started
map size: 10
cycle count: 10000000
iterations: 10
Iteration 0, put = 13578, keys iteration = 23469, values iteration = 21937, entries iteration = 19234, get = 8610
Iteration 1, put = 12984, keys iteration = 23406, values iteration = 21844, entries iteration = 18891, get = 8531
Iteration 2, put = 12984, keys iteration = 23360, values iteration = 22000, entries iteration = 18890, get = 8391
Iteration 3, put = 12984, keys iteration = 23532, values iteration = 21859, entries iteration = 18922, get = 8391
Iteration 4, put = 12984, keys iteration = 23375, values iteration = 21937, entries iteration = 18860, get = 8531
Iteration 5, put = 12938, keys iteration = 23484, values iteration = 21812, entries iteration = 18860, get = 8515
Iteration 6, put = 12922, keys iteration = 23438, values iteration = 21812, entries iteration = 19000, get = 8485
Iteration 7, put = 12984, keys iteration = 23328, values iteration = 21922, entries iteration = 18953, get = 8391
Iteration 8, put = 12969, keys iteration = 23421, values iteration = 21954, entries iteration = 18906, get = 8515
Iteration 9, put = 12954, keys iteration = 23406, values iteration = 21953, entries iteration = 18953, get = 8391
So, up to 3% boost for iteration ops.
> [classlib][performance] HashMap iterators improvements
> 
>
> Key: HARMONY5207
> URL: https://issues.apache.org/jira/browse/HARMONY5207
> Project: Harmony
> Issue Type: Improvement
> Components: Classlib
> Reporter: Aleksey Shipilev
> Attachments: HARMONY5207.patch, HashMapTest.java
>
>
> Current HashMap iterators implementation can be optimized by specializing iterators. This will save resources over interface call and need in creation of the new objects.

This message is automatically generated by JIRA.

You can reply to this email to add a comment to the issue online.