Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
6d2fccf
POC for Get with FFP
Chessray Jan 2, 2026
f8bb157
POC for Get with FFP
Chessray Jan 2, 2026
5ae29a9
POC for Get with FFP
Chessray Jan 2, 2026
1fbe4fd
POC for Get with FFP
Chessray Jan 2, 2026
7519228
POC for Get with FFP
Chessray Jan 2, 2026
a351ff8
POC for Get with FFP
Chessray Jan 2, 2026
e2ba86b
POC for Get with FFP
Chessray Jan 2, 2026
ae271de
POC for Get with FFP
Chessray Jan 2, 2026
c659997
POC for Get with FFP
Chessray Jan 2, 2026
8dc796f
POC for Get with FFP
Chessray Jan 2, 2026
255b170
POC for Get with FFP
Chessray Jan 2, 2026
6f28528
POC for Get with FFP
Chessray Jan 2, 2026
9802d02
POC for Get with FFP
Chessray Jan 2, 2026
6f0e8b4
Add subselection information to graph titles.
Chessray Jan 5, 2026
7e033d5
Extract System information into title
Chessray Jan 5, 2026
d5b1e58
Read system information during jmhrun in order to ensure that running…
Chessray Jan 5, 2026
dcb5c47
Put quotes around subselection in order to reduce confusion when usin…
Chessray Jan 5, 2026
85877b9
Add MemorySegment function to "Put" benchmark.
Chessray Jan 5, 2026
b54e147
Explicitly list value size
Chessray Jan 5, 2026
70df923
Explicitly list value size
Chessray Jan 5, 2026
aab6072
Explicitly list value size
Chessray Jan 5, 2026
e70a441
Provide Java 21 versions for all run configs.
Chessray Jan 6, 2026
1d92ce6
Provide Java 21 versions for all run configs.
Chessray Jan 6, 2026
279e60c
Add some marks to x axis.
Chessray Jan 7, 2026
a55a912
Update to Java 25.
Chessray Jan 7, 2026
b71d2b4
Split out Java25-specific code.
Chessray Jan 16, 2026
f1af74c
Split out Java25-specific code.
Chessray Jan 16, 2026
b3af0d7
Split out Java25-specific code.
Chessray Jan 16, 2026
184d216
Smaller intervals for array benchmark in order to be able to compare …
Chessray Jan 17, 2026
98eedaa
Smaller intervals for warmup in array benchmark in order to be able t…
Chessray Jan 17, 2026
14bd98a
Added config file for ByteArrayFromNative
Chessray Jan 17, 2026
0d4a9e7
Added config file for ByteArrayFromNative
Chessray Jan 17, 2026
aa5ca48
Added config file for ByteArrayFromNative
Chessray Jan 17, 2026
fb0ac2c
Added config file for ByteArrayFromNative
Chessray Jan 17, 2026
e17284d
Aligned ByteArrayToNative with other benchmarks in timing parameters.
Chessray Jan 18, 2026
8c5c7d4
Aligned ByteArrayToNative with other benchmarks in timing parameters.
Chessray Jan 18, 2026
bf072ca
PLot config file for toArray benchmark
Chessray Jan 19, 2026
079baba
PLot config file for toArray benchmark
Chessray Jan 19, 2026
553cdf3
PLot config file for toArray benchmark
Chessray Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions jmh_full_array_from_native.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayFromNativeBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"valueSize": [10, 50, 512, 1024, 4096, 8192, 16384, 32768, 65536],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 20,
"warmuptime": "50ms",
"iterations": 50,
"time": "500ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_full_array_to_native.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayToNativeBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"keySize": [38, 128, 512],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 20,
"warmuptime": "50ms",
"iterations": 50,
"time": "500ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_full_get_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "GetJNIBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [10, 50, 512, 1024, 4096, 8192, 16384, 32768, 65536],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 20,
"warmuptime": "50ms",
"iterations": 50,
"time": "500ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_full_put_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "PutJNIBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [10, 50, 512, 1024, 4096, 8192, 16384, 32768, 65536],
"cacheMB": [1],
"checksum": ["none", "copyin"]
},
"options": {
"batchsize": 1,
"warmupiterations": 20,
"warmuptime": "50ms",
"iterations": 50,
"time": "500ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
14 changes: 9 additions & 5 deletions jmh_plot.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,17 @@
"name": "valueSize",
"min": 1024
},
"label": "allbig"
"label": "allbig",
"valueSizeTitle": ">= 1024"
},
{
"xaxisparam": {
"name": "valueSize",
"min": 1,
"max": 4096
},
"label": "allsmall"
"label": "allsmall",
"valueSizeTitle": "<= 4096"
# defaults to include_patterns of all matching
},
{
Expand All @@ -23,15 +25,17 @@
"max": 4096
},
"exclude_patterns": ["Pooled"],
"label": "nopoolsmall"
"label": "nopoolsmall",
"valueSizeTitle": "<= 4096"
},
{
"xaxisparam": {
"name": "valueSize",
"min": 1024
},
"exclude_patterns": ["Pooled"],
"label": "nopoolbig"
"label": "nopoolbig",
"valueSizeTitle": ">= 1024"
},
{
"xaxisparam": {
Expand Down Expand Up @@ -84,4 +88,4 @@
}
],
"result.path": "./analysis/testplots"
}
}
11 changes: 11 additions & 0 deletions jmh_plot_array_to_native.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"plots": [
{
"xaxisparam": {
"name": "keySize"
},
"label": "all"
}
],
"result.path": "./analysis/testplots"
}
21 changes: 21 additions & 0 deletions jmh_run_array_from_native.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"help": false,
"benchmark": "ByteArrayFromNativeBenchmark",
"jvmargs": ["Xmx24G", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"valueSize": [50, 4096],
"cacheMB": [1],
"checksum": ["none"]
},
# "flags": ["lprof"],
"options": {
"batchsize": 2,
"warmupiterations": 1,
"warmuptime": "10us",
"iterations": 1,
"time": "10us"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
21 changes: 21 additions & 0 deletions jmh_run_array_to_native.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"help": false,
"benchmark": "ByteArrayToNativeBenchmark",
"jvmargs": ["Xmx24G", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"valueSize": [50, 4096],
"cacheMB": [1],
"checksum": ["none"]
},
# "flags": ["lprof"],
"options": {
"batchsize": 2,
"warmupiterations": 1,
"warmuptime": "10us",
"iterations": 1,
"time": "10us"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_small_get_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "GetJNIBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [10, 50, 512, 1024, 4096, 8192, 16384, 32768, 65536],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 10,
"warmuptime": "20ms",
"iterations": 20,
"time": "200ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_small_put_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "PutJNIBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [10, 50, 512, 1024, 4096, 8192, 16384, 32768, 65536],
"cacheMB": [1],
"checksum": ["none", "copyin"]
},
"options": {
"batchsize": 1,
"warmupiterations": 5,
"warmuptime": "20ms",
"iterations": 10,
"time": "100ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_tiny_array_from_native.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayFromNativeBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 5,
"warmuptime": "10ms",
"iterations": 5,
"time": "50ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_tiny_get_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "GetJNIBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 5,
"warmuptime": "10ms",
"iterations": 5,
"time": "50ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_tiny_get_java25.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "GetJNIBenchmarkJava25",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
"cacheMB": [1],
"checksum": ["none", "copyout"]
},
"options": {
"batchsize": 1,
"warmupiterations": 5,
"warmuptime": "10ms",
"iterations": 5,
"time": "50ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_tiny_put_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "PutJNIBenchmark",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
"cacheMB": [1],
"checksum": ["none", "copyin"]
},
"options": {
"batchsize": 1,
"warmupiterations": 5,
"warmuptime": "10ms",
"iterations": 5,
"time": "50ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
19 changes: 19 additions & 0 deletions jmh_tiny_put_java25.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "PutJNIBenchmarkJava25",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
"cacheMB": [1],
"checksum": ["none", "copyin"]
},
"options": {
"batchsize": 1,
"warmupiterations": 5,
"warmuptime": "10ms",
"iterations": 5,
"time": "50ms"
},
"result.path": "./results",
"java.library.path": "target/jni-benchmarks-1.0.1-SNAPSHOT-application/jni-benchmarks-1.0.1-SNAPSHOT/lib",
"jar": "target/jni-benchmarks-1.0.1-SNAPSHOT-benchmarks.nar"
}
Loading