Skip to content

Improved logging subsystem. Now logger is always available but contro… #46

Improved logging subsystem. Now logger is always available but contro…

Improved logging subsystem. Now logger is always available but contro… #46

name: Benchmarking
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
if: "!contains(toJSON(github.event.commits.*.message), '[skip-bench]')"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: clone benchmarks
run: |
git clone https://github.com/m4drat/memplusplus-benchmarks
cd memplusplus-benchmarks
git submodule update --init --remote ./benchmarks/mempp/memplusplus
git submodule update --init ./libraries/googletest
git submodule update --init ./libraries/benchmark
- name: configure_clang
working-directory: memplusplus-benchmarks
run: |
CXX=clang++ cmake -S . -B build \
-DMPP_BENCH_ONLY_MEMPLUSPLUS=ON \
-DCMAKE_BUILD_TYPE=Release \
-DMPP_BUILD_SHARED_LIBS=OFF \
-DMPP_ENABLE_COVERAGE=OFF \
-DMPP_BUILD_FUZZER=OFF \
-DMPP_BUILD_EXAMPLE=OFF \
-DMPP_BUILD_TESTS=OFF \
-DMPP_BUILD_DOCS=OFF \
-DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
-DMPP_SANITIZERS=OFF \
-DMPP_BUILD_SHARED_LIBS=OFF \
-DMPP_FULL_DEBUG=OFF \
-DMPP_SECURE=OFF \
-DMPP_PROFILE=OFF \
-DMPP_COLOUR=OFF \
-DMPP_STATS=OFF
- name: build_clang
working-directory: memplusplus-benchmarks
run: |
CXX=clang++ cmake --build build --config Release --target all
- name: run_benchmarks
working-directory: memplusplus-benchmarks
run: |
./build/benchmarks/mempp/benchmark-mpp --benchmark_format=json | tee benchmark_result.json
- name: Continuous Benchmark
uses: benchmark-action/[email protected]
with:
name: Mem++ benchmarks
tool: "googlecpp"
output-file-path: ./memplusplus-benchmarks/benchmark_result.json
github-token: ${{ secrets.GITHUB_TOKEN }}
auto-push: true
# Show alert with commit comment on detecting possible performance regression
alert-threshold: "200%"
comment-on-alert: true
fail-on-alert: false