[lworld] RFR: Prototype inline cursors for List

Paul Sandoz paul.sandoz at oracle.com
Thu Mar 26 17:47:45 UTC 2020


IMHO you need to look at the hotspots of the generated code to get more insights as to why the cursor is not on par with the EA’ed iterator.

Use dtraceasm on the Mac, or perfasm on Linux, it's great!
 
Paul.

> On Mar 26, 2020, at 10:14 AM, Roger Riggs <rriggs at openjdk.java.net> wrote:
> 
> Implementation of Cursors and jmh tests comparing
> typical List traversal via direct index, iterator,
> inline cursor, and an iterator implemented on top of cursor.
> 
> Sample results:
> 
>                                   (size)  Mode  Cnt       Score       Error  Units
> XArrayListCursorTest.getViaArray            100000  avgt    5  507793.484  7086.038  ns/op
> XArrayListCursorTest.getViaCursorForLoop    100000  avgt    5  656461.958  52488.547  ns/op
> XArrayListCursorTest.getViaCursorWhileLoop  100000  avgt    5  641963.323  32219.409  ns/op
> XArrayListCursorTest.getViaIterator         100000  avgt    5  558863.817  23539.256  ns/op
> XArrayListCursorTest.getViaIteratorCurs     100000  avgt    5  733161.466  33721.881  ns/op
> 
> -------------
> 
> Commit messages:
> - Prototype inline cursors for List
> 
> Changes: https://git.openjdk.java.net/valhalla/pull/5/files
> Webrev: https://webrevs.openjdk.java.net/valhalla/5/webrev.00
>  Stats: 2139 lines in 3 files changed: 2139 ins; 0 del; 0 mod
>  Patch: https://git.openjdk.java.net/valhalla/pull/5.diff
>  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/5/head:pull/5
> 
> PR: https://git.openjdk.java.net/valhalla/pull/5




More information about the valhalla-dev mailing list