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 ctx, Map