Looking at the build time trend in: https://valkyrie.yocto.io/pub/non-release/20250506-54/testresults/buildperf-alma8/perf-alma8-vk_master_20250506090028_601b05a298.html for test1: Build core-image-sato you can see that we have had two increases recently: 1. Commit 78042 - likley mesa: build time went from ~41 to ~61 minutes Log: https://git.yoctoproject.org/poky/log/?id=122e9a49614b2ddedaae1d90c06004a7a4c43998 2. Commit 78237 - likely clang: build time went from ~61 to ~76 minutes https://git.yoctoproject.org/poky/log/?id=601b05a298c0847e96b8f5f71e50d057e2833382 While these increases were expected, we'd like to look into how we can eliminate some of the work done or otherwise optimize the build to lower the build time.
Add Ross, Khem, Sundeep. Sundeep wasn't in the meeting discussion so FYI, Khem has some ideas about changing the defaults for clang:target.
https://lists.openembedded.org/g/openembedded-core/message/216117 https://lists.openembedded.org/g/openembedded-core/message/216116 should help here.
I'll note that we appear to be building mesa-native with llvmpipe, and I'm not sure if that's desired.
We currently have a mostly monolithic clang recipe that builds llvm/clang/clang-tools/lldb/libclc in one shot, which is neat but incredibly time consuming. We do already build compiler-rt, libcxx, and openmp separately. I think we should extend this further. As a concrete data point, disabling lldb in clang removed over 100MB from the sysroot and two minutes of build time on my Altra build machine. Adding a disabled-by-default PACKAGECONFIG to clang for lldb would be prohibitively costly as if a user wants it they'd need to rebuild all of clang again. libclc and lldb should be the easiest to pull out into separate recipes, although I do note that clang can be configured to use a system llvm, so we should be able to tease apart llvm and clang too, which will help setups which need llvm but not clang (for example, rust).
No significant improvements: https://valkyrie.yocto.io/pub/non-release/20250702-59/testresults/buildperf-alma8/perf-alma8-vk_master_20250702090029_243d54fd46.html
Hopefully Ross finds time to work on splitting up llvm/clang to reduce build time.
As per https://valkyrie.yocto.io/pub/non-release/20251014-57/testresults/buildperf-alma8/perf-alma8-vk_master_20251014090029_4a1f38dd8d.html we've clawed back the hit of building clang.
My next plan involves seeing if we can use libglvnd-native and host drivers instead of mesa-native. But closing as the urgency is done.