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_GET_SYMBOLS_WITH_LIBDWARF=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF4=On", "-DCPPTRACE_GET_SYMBOLS_WITH_LIBDWARF=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF5=On" ] exclude: ## TODO: Maybe a bug in dwarf5_ranges. b _dwarf_error_string ## DW_DLE_RNGLISTS_ERROR: rnglists table index of 2052 too large for table of 5 entries. #- config: "-DCPPTRACE_GET_SYMBOLS_WITH_LIBDWARF=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF5=On" # compiler: clang++-14 ## TODO: Currently slow. Need to investigate why. #- config: "-DCPPTRACE_GET_SYMBOLS_WITH_LIBDWARF=On -DCPPTRACE_BUILD_SPEEDTEST_DWARF4=On" # compiler: clang++-14 steps: - uses: actions/checkout@v2 - name: dependencies run: sudo apt install gcc-11 g++-11 libgcc-11-dev - name: build and speedtest 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 make -j - name: test working-directory: build run: | ./speedtest | python3 ../ci/speedtest.py ${{matrix.compiler}} ${{matrix.config}} 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 and speedtest 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 msbuild .\cpptrace.sln - name: test working-directory: build run: | .\${{matrix.target}}\speedtest.exe | python3 ../ci/speedtest.py ${{matrix.config}}