[foreign-memaccess+abi] RFR: Add AllocTest benchmark [v2]

Maurizio Cimadamore mcimadamore at openjdk.org
Fri Aug 18 17:27:15 UTC 2023


> This patch adds a benchmark that tests a simple allocation (of varying size).
> The allocation request requires zeroing, so we compare against calloc, and bare use of Unsafe::allocateMemory/setMemory/freeMemory.
> 
> Results are as follows:
> 
> 
> Benchmark                     (size)  Mode  Cnt   Score   Error  Units
> AllocTest.alloc_calloc_arena       5  avgt   30  40.620 ? 0.360  ns/op
> AllocTest.alloc_calloc_arena      20  avgt   30  41.648 ? 1.460  ns/op
> AllocTest.alloc_calloc_arena     100  avgt   30  39.885 ? 0.478  ns/op
> AllocTest.alloc_calloc_arena     500  avgt   30  67.802 ? 2.258  ns/op
> AllocTest.alloc_calloc_arena    1000  avgt   30  67.403 ? 1.034  ns/op
> AllocTest.alloc_confined           5  avgt   30  51.874 ? 0.554  ns/op
> AllocTest.alloc_confined          20  avgt   30  52.717 ? 1.214  ns/op
> AllocTest.alloc_confined         100  avgt   30  52.760 ? 0.716  ns/op
> AllocTest.alloc_confined         500  avgt   30  58.661 ? 2.379  ns/op
> AllocTest.alloc_confined        1000  avgt   30  65.374 ? 0.711  ns/op
> AllocTest.alloc_unsafe_arena       5  avgt   30  56.086 ? 0.710  ns/op
> AllocTest.alloc_unsafe_arena      20  avgt   30  52.492 ? 0.835  ns/op
> AllocTest.alloc_unsafe_arena     100  avgt   30  54.579 ? 0.748  ns/op
> AllocTest.alloc_unsafe_arena     500  avgt   30  60.528 ? 1.024  ns/op
> AllocTest.alloc_unsafe_arena    1000  avgt   30  67.619 ? 1.020  ns/op
> 
> 
> So, confined arenas are quite close to calloc. There remains a gap, especially on lower allocation sizes, which is a consequence of:
> https://bugs.openjdk.org/browse/JDK-8314294

Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:

  Address review comments

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

Changes:
  - all: https://git.openjdk.org/panama-foreign/pull/870/files
  - new: https://git.openjdk.org/panama-foreign/pull/870/files/3084f2f3..5e586db8

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=870&range=01
 - incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=870&range=00-01

  Stats: 18 lines in 1 file changed: 0 ins; 2 del; 16 mod
  Patch: https://git.openjdk.org/panama-foreign/pull/870.diff
  Fetch: git fetch https://git.openjdk.org/panama-foreign.git pull/870/head:pull/870

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


More information about the panama-dev mailing list