Understanding the performance of my FFI-based API
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Fri Mar 10 18:46:27 UTC 2023
On 10/03/2023 18:05, Maurizio Cimadamore wrote:
>
> I’m not sure how much the update to 20 matters - maybe try to fix all
> of the other stuff first, and see what happens (inexact var handle
> calls can be quite slow compared to Unsafe memory access).
>
I reverted the Java 20 changes. Numbers still looking good:
```
Benchmark (columnFamilyTestType) (keyCount) (keySize) (valueSize)
Mode Cnt Score Error Units
GetBenchmarks.ffiGet no_column_family 1000 128
4096 thrpt 30 596.329 ± 9.452 ops/ms
GetBenchmarks.ffiGet no_column_family 1000 128
65536 thrpt 30 60.368 ± 0.842 ops/ms
GetBenchmarks.ffiGetPinnableSlice no_column_family 1000
128 4096 thrpt 30 752.036 ± 5.655 ops/ms
GetBenchmarks.ffiGetPinnableSlice no_column_family 1000
128 65536 thrpt 30 111.105 ± 2.304 ops/ms
GetBenchmarks.ffiGetRandom no_column_family 1000
128 4096 thrpt 30 582.699 ± 3.379 ops/ms
GetBenchmarks.ffiGetRandom no_column_family 1000
128 65536 thrpt 30 64.546 ± 1.829 ops/ms
GetBenchmarks.ffiIdentity no_column_family 1000
128 4096 thrpt 30 57239.625 ± 674.849 ops/ms
GetBenchmarks.ffiIdentity no_column_family 1000 128
65536 thrpt 30 57802.683 ± 589.983 ops/ms
GetBenchmarks.ffiPreallocatedGet no_column_family 1000
128 4096 thrpt 30 717.237 ± 8.434 ops/ms
GetBenchmarks.ffiPreallocatedGet no_column_family 1000
128 65536 thrpt 30 96.223 ± 1.143 ops/ms
GetBenchmarks.ffiPreallocatedGetRandom no_column_family
1000 128 4096 thrpt 30 585.284 ± 5.415 ops/ms
GetBenchmarks.ffiPreallocatedGetRandom no_column_family
1000 128 65536 thrpt 30 66.568 ± 0.843 ops/ms
GetBenchmarks.get no_column_family 1000 128 4096
thrpt 30 553.515 ± 6.278 ops/ms
GetBenchmarks.get no_column_family 1000 128 65536
thrpt 30 59.999 ± 0.935 ops/ms
GetBenchmarks.preallocatedByteBufferGet no_column_family
1000 128 4096 thrpt 30 738.077 ± 8.767 ops/ms
GetBenchmarks.preallocatedByteBufferGet no_column_family
1000 128 65536 thrpt 30 99.239 ± 1.398 ops/ms
GetBenchmarks.preallocatedByteBufferGetRandom no_column_family
1000 128 4096 thrpt 30 722.680 ± 11.499 ops/ms
GetBenchmarks.preallocatedByteBufferGetRandom no_column_family
1000 128 65536 thrpt 30 110.411 ± 1.117 ops/ms
GetBenchmarks.preallocatedGet no_column_family 1000
128 4096 thrpt 30 700.405 ± 8.534 ops/ms
GetBenchmarks.preallocatedGet no_column_family 1000
128 65536 thrpt 30 99.694 ± 2.122 ops/ms
```
Maurizio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/panama-dev/attachments/20230310/3c89b521/attachment.htm>
More information about the panama-dev
mailing list