Migrated from Make to CMake.
This commit is contained in:
parent
cda05294f5
commit
b6ba093000
52 changed files with 1276 additions and 1210 deletions
|
|
@ -41,7 +41,7 @@ termination remain unqualified.
|
|||
|
||||
## Matrix, Capacity and Contention Checks
|
||||
|
||||
`make benchmark` records 24 warmed graph cases: 2/16/64/256 nodes, mono/stereo,
|
||||
`cmake --build build --target benchmark` records 24 warmed graph cases: 2/16/64/256 nodes, mono/stereo,
|
||||
44.1k/31, 48k/128 and 96k/1024. Each reports control-thread compile time
|
||||
separately from 300 process calls, mean/p99/max, block deadline, mean load, and
|
||||
paired graph buffer bytes. Timing, sorting, allocation and logging happen
|
||||
|
|
@ -51,10 +51,10 @@ CPU/compiler/flags/kernel and all measurements. Copy a new run only after
|
|||
reviewing changes and conditions.
|
||||
|
||||
```sh
|
||||
make benchmark test-performance test-scale test-stress
|
||||
make benchmark-compare BENCHMARK_MAX_REGRESSION=1.5
|
||||
cmake --build build --target benchmark test-performance test-scale test-stress
|
||||
cmake -S . -B build -DXTC_BENCHMARK_MAX_REGRESSION=1.5 && cmake --build build --target benchmark-compare
|
||||
# Select a baseline from this same host/compiler/flags:
|
||||
make benchmark-compare BENCHMARK_BASELINE=/path/to/performance.json
|
||||
cmake -S . -B build -DXTC_BENCHMARK_BASELINE=/path/to/performance.json && cmake --build build --target benchmark-compare
|
||||
```
|
||||
|
||||
Comparison rejects mismatched CPU/architecture/compiler/flags or missing cases.
|
||||
|
|
@ -64,7 +64,7 @@ Repeat surprising results under comparable load; do not silently replace the
|
|||
baseline to make a regression disappear. Scheduling, clocks, thermal state and
|
||||
shared-machine contention still affect results. No real-time scheduling/pinning
|
||||
or external profiler is required. CPU-pressure runs are correctness checks, not
|
||||
comparable timing baselines. Tests/benchmark outputs live below BUILD_DIR.
|
||||
comparable timing baselines. Tests/benchmark outputs live below the selected binary directory.
|
||||
|
||||
Initial matrix (Threadripper 1920X, GCC 16.2.1, -O2, 300 blocks): 256-node
|
||||
stereo 48k/128 mean 353.214 us, p99 396.495 us, load .132; 96k/1024 mean
|
||||
|
|
@ -118,13 +118,13 @@ graph matrix separately scales nodes and chain connections from 2 to 256. These
|
|||
synthetic cases do not qualify every possible dense graph or plugin chain.
|
||||
|
||||
```sh
|
||||
make benchmark benchmark-project
|
||||
make benchmark-compare
|
||||
make benchmark-project-compare
|
||||
cmake --build build --target benchmark benchmark-project
|
||||
cmake --build build --target benchmark-compare
|
||||
cmake --build build --target benchmark-project-compare
|
||||
# Baselines must match the current CPU/compiler/flags and workload.
|
||||
make benchmark-project-compare PROJECT_BENCHMARK_BASELINE=/path/to/report.json
|
||||
cmake -S . -B build -DXTC_PROJECT_BENCHMARK_BASELINE=/path/to/report.json && cmake --build build --target benchmark-project-compare
|
||||
./build/test_performance 10000 64 128
|
||||
make test-benchmark-tools
|
||||
cmake --build build --target test-benchmark-tools
|
||||
```
|
||||
|
||||
Both matrices report wall-clock mean/p99/max processing duration and the count
|
||||
|
|
@ -154,10 +154,10 @@ on machine timing. Do not replace a failing baseline without investigating.
|
|||
## Endurance, Faults and Callback Audit
|
||||
|
||||
```sh
|
||||
make test-soak test-stress test-stress-plugins
|
||||
make test-stress STRESS_ROUNDS=10
|
||||
cmake --build build --target test-soak test-stress test-stress-plugins
|
||||
cmake -S . -B build -DXTC_STRESS_ROUNDS=10 && cmake --build build --target test-stress
|
||||
./build/test_soak 10000000
|
||||
make check-development
|
||||
cmake --build build --target check-development
|
||||
```
|
||||
|
||||
`test-soak` renders exactly 1,000,000 alternating 31/128/1,024-frame stereo
|
||||
|
|
@ -210,7 +210,7 @@ introduced without a separate correctness/performance justification.
|
|||
Reproduce in an isolated build (GNU gprof must already be installed):
|
||||
|
||||
```sh
|
||||
make BUILD_DIR=build/profile CFLAGS='-O2 -g -pg -std=c99 -Iinclude' LDFLAGS=-pg build/profile/test_performance
|
||||
cmake -S . -B build/profile -DCMAKE_C_FLAGS='-O2 -g -pg -std=c99 -Iinclude' -DCMAKE_EXE_LINKER_FLAGS=-pg && cmake --build build/profile --target test_performance
|
||||
GMON_OUT_PREFIX="$PWD/build/profile/gmon" ./build/profile/test_performance 10000 64 128
|
||||
gprof build/profile/test_performance build/profile/gmon.* > build/profile/profile.txt
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue