name: performance-test on: push: pull_request: jobs: performancetest-linux: runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: compiler: [g++-11, clang++-14] target: [Debug] std: [11, 20] config: [ "-DCPPTRACE_FULL_TRACE_WITH_LIBBACKTRACE=On", "-DCPPTRACE_GET_SYMBOLS_WITH_ADDR2LINE=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF4=On", "-DCPPTRACE_GET_SYMBOLS_WITH_ADDR2LINE=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF5=On" ] exclude: - config: -DCPPTRACE_GET_SYMBOLS_WITH_ADDR2LINE=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF5=On compiler: g++-11 steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt install gcc-11 g++-11 libgcc-11-dev - name: build run: | mkdir -p build cd build cmake .. \ -DCMAKE_BUILD_TYPE=${{matrix.target}} \ -DCMAKE_CXX_COMPILER=${{matrix.compiler}} \ -DCMAKE_CXX_STANDARD=${{matrix.std}} \ ${{matrix.config}} \ -DCPPTRACE_BACKTRACE_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/include/backtrace.h \ -DCPPTRACE_BUILD_SPEEDTEST=On \ -DBUILD_SHARED_LIBS=On make -j - name: test working-directory: build run: | ./speedtest | python3 ../ci/speedtest.py ${{matrix.config}} # TODO: For some reason this is slow on github's runner #performancetest-windows: # runs-on: windows-2019 # strategy: # fail-fast: false # matrix: # compiler: [cl, clang++] # target: [Debug] # std: [11, 20] # config: [ # "-DCPPTRACE_GET_SYMBOLS_WITH_DBGHELP=On" # ] # steps: # - uses: actions/checkout@v2 # - name: Enable Developer Command Prompt # uses: ilammy/msvc-dev-cmd@v1.10.0 # - name: build # run: | # mkdir -p build # cd build # cmake .. ` # -DCMAKE_BUILD_TYPE=Debug ` # -DCMAKE_CXX_COMPILER=${{matrix.compiler}} ` # -DCMAKE_CXX_STANDARD=${{matrix.std}} ` # ${{matrix.config}} ` # -DCPPTRACE_BUILD_SPEEDTEST=On ` # -DBUILD_SHARED_LIBS=On # msbuild .\cpptrace.sln # - name: test # working-directory: build # run: | # .\${{matrix.target}}\speedtest.exe | python3 ../ci/speedtest.py ${{matrix.config}}