Disable PGO on macOS except for official releases.

pull/1173/head
Mooneer Salem 2026-01-22 01:17:26 -08:00
parent aa56522f1c
commit a7cc6852db
2 changed files with 8 additions and 2 deletions

View File

@ -184,12 +184,14 @@ jobs:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
- name: Build instrumented freedv-gui
if: ${{ vars.FREEDV_MACOS_CODE_SIGNING_TEAM_ID != '' }}
shell: bash
working-directory: ${{github.workspace}}
run: |
BUILD_TYPE=Release UT_ENABLE=0 UNIV_BUILD=1 BUILD_DEPS=1 PGO_INSTRUMENT=1 CC=$(brew --prefix llvm@20)/bin/clang CXX=$(brew --prefix llvm@20)/bin/clang++ OBJCXX=$(brew --prefix llvm@20)/bin/clang ./build_osx.sh
- name: Generate optimization profile
if: ${{ vars.FREEDV_MACOS_CODE_SIGNING_TEAM_ID != '' }}
shell: bash
working-directory: ${{github.workspace}}
run: |
@ -197,13 +199,13 @@ jobs:
LLVM_PROFILE_FILE="code-%p.profraw" FREEDV_COMPUTER_TO_RADIO_DEVICE="VB-Cable" FREEDV_RADIO_TO_COMPUTER_DEVICE="VB-Cable" FREEDV_COMPUTER_TO_SPEAKER_DEVICE="BlackHole1 2ch" FREEDV_MICROPHONE_TO_COMPUTER_DEVICE="BlackHole2 2ch" ../test/generate_pgo_profiles.sh 2>&1
$(brew --prefix llvm@20)/bin/llvm-profdata merge -output ${{ github.workspace }}/code.profdata code-*.profraw
- name: Build PGO optimized freedv-gui (unsigned)
- name: Build freedv-gui (unsigned)
if: ${{ vars.FREEDV_MACOS_CODE_SIGNING_TEAM_ID == '' }}
shell: bash
working-directory: ${{github.workspace}}
run: |
rm -rf build_osx
BUILD_TYPE=Release UT_ENABLE=0 UNIV_BUILD=1 BUILD_DEPS=1 PGO_USE_PROFILE=${{github.workspace}}/code.profdata CC=$(brew --prefix llvm@20)/bin/clang CXX=$(brew --prefix llvm@20)/bin/clang++ OBJCXX=$(brew --prefix llvm@20)/bin/clang ./build_osx.sh
BUILD_TYPE=Release UT_ENABLE=0 UNIV_BUILD=1 BUILD_DEPS=1 ./build_osx.sh
- name: Build PGO optimized freedv-gui (signed)
if: ${{ vars.FREEDV_MACOS_CODE_SIGNING_TEAM_ID != '' }}

View File

@ -27,6 +27,8 @@
#include "plot_waterfall.h"
#include "codec2_fdmdv.h" // for FDMDV_FCENTRE
#include "util/logging/ulog.h"
// Tweak accordingly
#define Y_PER_SECOND (30)
@ -191,9 +193,11 @@ bool PlotWaterfall::checkDT(void)
float px_per_sec = (float)m_rGrid.GetHeight() / WATERFALL_SECS_Y;
float dy = m_dT * px_per_sec;
log_info("dy = %f, m_dT = %f, pxpps = %f", dy, m_dT, px_per_sec);
if (dy < 1.0) {
m_dT += DT;
log_info("new m_DT = %f", m_dT);
return false;
}
else