Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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"
}
2 changes: 1 addition & 1 deletion jmh_full_get_java21.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"benchmark": "GetJNIBenchmark",
"benchmark": "GetJNIBenchmarkJava21",
"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],
Expand Down
2 changes: 1 addition & 1 deletion jmh_full_put_java21.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"benchmark": "PutJNIBenchmark",
"benchmark": "PutJNIBenchmarkJava21",
"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],
Expand Down
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"
}
2 changes: 1 addition & 1 deletion jmh_small_get_java21.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"benchmark": "GetJNIBenchmark",
"benchmark": "GetJNIBenchmarkJava21",
"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],
Expand Down
2 changes: 1 addition & 1 deletion jmh_small_put_java21.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"benchmark": "PutJNIBenchmark",
"benchmark": "PutJNIBenchmarkJava21",
"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],
Expand Down
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_array_from_native_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayFromNativeBenchmarkJava21",
"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_array_from_native_java25.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayFromNativeBenchmarkJava25",
"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_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": {
"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_array_to_native_java21.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayToNativeBenchmarkJava21",
"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_array_to_native_java25.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"benchmark": "ByteArrayToNativeBenchmarkJava25",
"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"
}
2 changes: 1 addition & 1 deletion jmh_tiny_get_java21.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"benchmark": "GetJNIBenchmark",
"benchmark": "GetJNIBenchmarkJava21",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
Expand Down
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"
}
2 changes: 1 addition & 1 deletion jmh_tiny_put_java21.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"benchmark": "PutJNIBenchmark",
"benchmark": "PutJNIBenchmarkJava21",
"jvmargs": ["Xmx4G", "XX:ErrorFile=./results/hs_err_pid%p.log", "XX:+HeapDumpOnOutOfMemoryError", "-enable-preview"],
"params": {
"valueSize": [50, 1024, 4096, 16384],
Expand Down
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"
}
45 changes: 45 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@

<jmh.version>1.36</jmh.version>
<uberjar.name>benchmarks</uberjar.name>
<build-helper-maven-plugin.version>3.6.1</build-helper-maven-plugin.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -281,6 +282,26 @@
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin.version}</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/java21/</source>
<source>src/main/javaffm/</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
Expand All @@ -304,6 +325,30 @@
<java.source.version>25</java.source.version>
<java.target.version>25</java.target.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>${build-helper-maven-plugin.version}</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/java25/</source>
<source>src/main/javaffm/</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
2 changes: 1 addition & 1 deletion src/main/c++/bytearray/GetByteArray.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -570,4 +570,4 @@ jint Java_com_evolvedbinary_jnibench_common_bytearray_GetByteArray_getUnsafe(JNI
memcpy(jval_out, cvalue.c_str(), length);

return cvalue_len;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@
*/
@BenchmarkMode(Mode.SampleTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 100, time = 1000, timeUnit = TimeUnit.NANOSECONDS)
@Measurement(iterations = 500, time = 2000, timeUnit = TimeUnit.NANOSECONDS)
@Warmup(iterations = 20, time = 100, timeUnit = TimeUnit.NANOSECONDS)
@Measurement(iterations = 200, time = 1000, timeUnit = TimeUnit.NANOSECONDS)
public class ByteArrayFromNativeBenchmark {

static {
Expand All @@ -65,11 +65,15 @@ public static class BenchmarkState {
@Param({
"10",
"50",
"128",
"512",
"1024",
"4096",
"8192",
"16384",
"65536"})
"32768",
"65536",
"131072"})
int valueSize;

/**
Expand Down
Loading