diff --git a/.github/workflows/benchmark-e2e.yml b/.github/workflows/benchmark-e2e.yml index d3755b987ed..155874ccf92 100644 --- a/.github/workflows/benchmark-e2e.yml +++ b/.github/workflows/benchmark-e2e.yml @@ -18,7 +18,7 @@ jobs: run: | bash -c "export NUSSKNACKER_SCALA_VERSION=2.12 && sbt \"benchmarks/test:runMain pl.touk.nussknacker.engine.benchmarks.e2e.FlinkSteamingScenarioBenchmark 10000000\"" - name: Store benchmark results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: benchmark-e2e.csv path: /tmp/benchmarkResult.csv diff --git a/.github/workflows/benchmark-jmh.yml b/.github/workflows/benchmark-jmh.yml index feb5ef1aefb..75c4e330a2a 100644 --- a/.github/workflows/benchmark-jmh.yml +++ b/.github/workflows/benchmark-jmh.yml @@ -17,7 +17,7 @@ jobs: - name: Run benchmarks run: sbt "benchmarks/jmh:run -i 8 -wi 3 -f1 -t1 -rf csv" - name: Store benchmark results - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: jmh-result.csv path: benchmarks/jmh-result.csv diff --git a/benchmarks/Readme.md b/benchmarks/Readme.md index 61a0127fda7..96f125262e3 100644 --- a/benchmarks/Readme.md +++ b/benchmarks/Readme.md @@ -1,22 +1,29 @@ -Microbenchmarks ---------------- +# Microbenchmarks Benchmarks in this module are suitable for things like: - performance of SpEL evaluation - handling Context operations -and probably not for more end to end scenarios - like testing Flink process + and probably not for more end to end scenarios - like testing Flink process For some benchmarks sample values for 4-core machine are included. They **should not** be considered as proper reference, since results will vary a lot between machines/runs. However, if after some changes the results are like 10 times worse it's probably worth having a closer look ;) - -Docs: ------ +## Docs: https://github.com/sbt/sbt-jmh -Running in sbt: ---------------- -``` +## Running in sbt: +```bash benchmarks/Jmh/run -i 8 -wi 3 -f1 -t2 .*SampleSpelBenchmark.* benchmarks/Jmh/run -i 8 -wi 3 -f1 -t2 -prof jfr:stackDepth=512 .*SampleSpelBenchmark.* ``` + +# E2E benchmarks +Benchmarks based on the docker installation example environment. +The docker from sources is built and published in local registry and then the benchmark code is run. + +## Running in sbt: +```bash +bash -c "export NUSSKNACKER_SCALA_VERSION=2.12 && sbt \"benchmarks/test:runMain pl.touk.nussknacker.engine.benchmarks.e2e.FlinkSteamingScenarioBenchmark 10000000\"" +``` + +> :warning: **Warning:** At the moment they support only Scala 2.12-based Nu-stack