[struct_pb]improve performance (#775) #1386
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Ubuntu (clang) | |
on: | |
push: | |
branches: [ main, develop ] | |
pull_request: | |
branches: [ main, develop ] | |
workflow_call: | |
workflow_dispatch: | |
env: | |
ccache: ON | |
jobs: | |
ubuntu_clang: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
libcxx: [ OFF ] | |
ssl: [ ON, OFF ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: sudo apt-get install openssl libssl-dev | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Install newer Clang | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh 17 | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )-libcxx( ${{ matrix.libcxx}} ) | |
- name: Configure | |
run: | | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} -DBUILD_WITH_LIBCXX=${{matrix.libcxx}} -DYLT_ENABLE_SSL=${{matrix.ssl}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17 | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V | |
ubuntu_clang_pb: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
libcxx: [ OFF ] | |
ssl: [ ON, OFF ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
sudo apt-get install openssl libssl-dev | |
sudo apt-get install libprotobuf-dev protobuf-compiler libprotoc-dev | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@v3 | |
- name: Install newer Clang | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh 17 | |
- name: Check protoc | |
run: protoc --version | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )-libcxx( ${{ matrix.libcxx}} ) | |
- name: Configure | |
run: | | |
CXX=clang++ CC=clang | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} -DBUILD_WITH_LIBCXX=${{matrix.libcxx}} -DYLT_ENABLE_SSL=${{matrix.ssl}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17\ | |
-DBUILD_CORO_HTTP=OFF -DBUILD_CORO_IO=OFF -DBUILD_STRUCT_PB=ON -DBUILD_CORO_RPC=OFF -DBUILD_EASYLOG=OFF -DBUILD_STRUCT_JSON=OFF -DBUILD_STRUCT_XML=OFF -DBUILD_STRUCT_YAML=OFF -DBUILD_UTIL=OFF | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V | |
ubuntu_clang_for_liburing: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
libcxx: [ OFF ] | |
io_uring: [ ON ] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install liburing | |
run: sudo apt-get install liburing-dev | |
- name: Install newer Clang | |
run: | | |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list | |
sudo apt-get update | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x ./llvm.sh | |
sudo ./llvm.sh 17 | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}}-ssl( ${{ matrix.ssl}} )-libcxx( ${{ matrix.libcxx}} ) | |
- name: Configure | |
run: | | |
CXX=clang++ CC=clang | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} \ | |
-DBUILD_WITH_LIBCXX=${{matrix.libcxx}} \ | |
-DYLT_ENABLE_IO_URING=${{matrix.io_uring}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17\ | |
-DBUILD_STRUCT_JSON=OFF -DBUILD_STRUCT_XML=OFF -DBUILD_STRUCT_PACK=OFF -DBUILD_STRUCT_YAML=OFF -DBUILD_UTIL=OFF | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V | |
ubuntu_clang10: | |
strategy: | |
matrix: | |
mode: [ Release, Debug ] | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install ninja-build tool | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Install clang-7 | |
run: sudo apt-get install clang-7 clang++-7 | |
- name: ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ github.job }}-${{ matrix.mode}} | |
- name: Configure | |
run: | | |
CXX=clang++-7 CC=clang-7 | |
cmake -B ${{github.workspace}}/build -G Ninja \ | |
-DCMAKE_BUILD_TYPE=${{matrix.mode}} \ | |
-DUSE_CCACHE=${{env.ccache}} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ | |
- name: Build | |
run: cmake --build ${{github.workspace}}/build --config ${{matrix.mode}} | |
- name: Test | |
working-directory: ${{github.workspace}}/build | |
run: ctest -C ${{matrix.mode}} -j 1 -V |