[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