diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml
index 0c4137ed0..be3b52fe5 100644
--- a/.github/workflows/pullrequest.yml
+++ b/.github/workflows/pullrequest.yml
@@ -16,7 +16,7 @@ jobs:
- java: 11
profile: java11
name: with Java ${{ matrix.build.java }}
- runs-on: ${{ matrix.os}}
+ runs-on: ${{ matrix.os }}
steps:
- name: Check out the code
uses: actions/checkout@09d2acae674a48949e3602304ab46fd20ae0c42f
@@ -54,5 +54,9 @@ jobs:
fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)
+ - if: matrix.build.java == '17'
+ name: Run JMH benchmark
+ run: mvn --activate-profiles benchmark jmh:benchmark "-Djmh.rf=json" "-Djmh.rff=benchmark/results/results.json"
+
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@624d0bca90f761ffa7ce50c41875a1a226969a02
diff --git a/.gitignore b/.gitignore
index a7575d545..31c7b3014 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,8 @@ target
# used for spec compliance tooling
java-report.json
+/standalone/.gitignore
+/sdk/pom.xml
+/results.json
+/sdk.iml
+/jmh-comp-bench/
diff --git a/pom.xml b/pom.xml
index c4461155f..116f7fe7f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -167,7 +167,12 @@
1.37
test
-
+
@@ -298,7 +303,6 @@
-
@@ -595,6 +599,14 @@
jmh-maven-plugin
0.2.2
+
+ at.lutnik
+ jmh-comparator-maven-plugin
+ 0.1.0
+
+ main
+
+
@@ -703,6 +715,24 @@
+
diff --git a/src/test/java/dev/openfeature/sdk/benchmark/AllocationBenchmark.java b/src/test/java/dev/openfeature/sdk/benchmark/AllocationBenchmark.java
index 5bc89d03d..c7acfd8e8 100644
--- a/src/test/java/dev/openfeature/sdk/benchmark/AllocationBenchmark.java
+++ b/src/test/java/dev/openfeature/sdk/benchmark/AllocationBenchmark.java
@@ -60,6 +60,7 @@ public Optional before(HookContext