[foreign-memaccess+abi] RFR: Add benchmarks to MemorySegmentVsBits

Per Minborg pminborg at openjdk.org
Mon Jan 2 12:18:03 UTC 2023


On Mon, 2 Jan 2023 10:25:17 GMT, Per Minborg <pminborg at openjdk.org> wrote:

> This PR proposes the addition of some benchmarks, for example using a LonBuffer and a VarHandle.

Here are the results when run on a MacBook Pro (16-inch, 2021) M1 Max and macOS 12.6.1:


Benchmark                                  (size)  Mode  Cnt    Score   Error  Units
MemorySegmentVsBits.bitsEquivalent              1  avgt   30    2.618 ? 0.023  ns/op
MemorySegmentVsBits.bitsEquivalent              2  avgt   30    3.595 ? 0.014  ns/op
MemorySegmentVsBits.bitsEquivalent             16  avgt   30   20.005 ? 0.092  ns/op
MemorySegmentVsBits.bitsEquivalent             64  avgt   30   81.832 ? 0.467  ns/op
MemorySegmentVsBits.bitsEquivalent            256  avgt   30  323.792 ? 5.287  ns/op

MemorySegmentVsBits.byteBuffer                  1  avgt   30    2.505 ? 0.011  ns/op
MemorySegmentVsBits.byteBuffer                  2  avgt   30    3.042 ? 0.025  ns/op
MemorySegmentVsBits.byteBuffer                 16  avgt   30    7.035 ? 0.026  ns/op
MemorySegmentVsBits.byteBuffer                 64  avgt   30   16.773 ? 0.084  ns/op
MemorySegmentVsBits.byteBuffer                256  avgt   30   51.042 ? 0.347  ns/op

MemorySegmentVsBits.byteVarHandle               1  avgt   30    1.950 ? 0.022  ns/op
MemorySegmentVsBits.byteVarHandle               2  avgt   30    2.289 ? 0.013  ns/op
MemorySegmentVsBits.byteVarHandle              16  avgt   30    5.767 ? 0.345  ns/op
MemorySegmentVsBits.byteVarHandle              64  avgt   30   12.427 ? 0.138  ns/op
MemorySegmentVsBits.byteVarHandle             256  avgt   30   27.093 ? 0.129  ns/op

MemorySegmentVsBits.longBuffer                  1  avgt   30    2.252 ? 0.018  ns/op
MemorySegmentVsBits.longBuffer                  2  avgt   30    2.633 ? 0.023  ns/op
MemorySegmentVsBits.longBuffer                 16  avgt   30    5.637 ? 0.359  ns/op
MemorySegmentVsBits.longBuffer                 64  avgt   30   10.917 ? 0.044  ns/op
MemorySegmentVsBits.longBuffer                256  avgt   30   27.627 ? 0.115  ns/op

MemorySegmentVsBits.panamaHeap                  1  avgt   30    3.464 ? 0.014  ns/op
MemorySegmentVsBits.panamaHeap                  2  avgt   30    4.554 ? 0.028  ns/op
MemorySegmentVsBits.panamaHeap                 16  avgt   30    6.963 ? 0.033  ns/op
MemorySegmentVsBits.panamaHeap                 64  avgt   30   16.057 ? 0.082  ns/op
MemorySegmentVsBits.panamaHeap                256  avgt   30   44.275 ? 0.406  ns/op

MemorySegmentVsBits.panamaNative                1  avgt   30    3.495 ? 0.044  ns/op
MemorySegmentVsBits.panamaNative                2  avgt   30    4.523 ? 0.042  ns/op
MemorySegmentVsBits.panamaNative               16  avgt   30    6.997 ? 0.025  ns/op
MemorySegmentVsBits.panamaNative               64  avgt   30   17.223 ? 0.109  ns/op
MemorySegmentVsBits.panamaNative              256  avgt   30   31.506 ? 0.149  ns/op

MemorySegmentVsBits.panamaNativeUnaligned       1  avgt   30    3.255 ? 0.019  ns/op
MemorySegmentVsBits.panamaNativeUnaligned       2  avgt   30    4.302 ? 0.018  ns/op
MemorySegmentVsBits.panamaNativeUnaligned      16  avgt   30    6.965 ? 0.046  ns/op
MemorySegmentVsBits.panamaNativeUnaligned      64  avgt   30   17.216 ? 0.086  ns/op
MemorySegmentVsBits.panamaNativeUnaligned     256  avgt   30   31.223 ? 0.130  ns/op

-------------

PR: https://git.openjdk.org/panama-foreign/pull/762


More information about the panama-dev mailing list