cpptrace/.github/workflows/performance-tests.yml
2023-09-10 19:46:01 -04:00

79 lines
2.5 KiB
YAML

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}}