Sweeten your Yocto Build Times with Icecream
summary
Icecream is a distributed compiler with a central scheduler; on a Garmin cluster with 21 compile nodes and ~184 job slots it yields about a 44% CPU time reduction and ~30% wall‑time reduction, cutting elapsed builds by ~1,100 seconds (~20%). Setup uses the ICC BB class and ICC_PARALLEL_MAKE ≈ 3–4× cores, requires a fast low‑latency network (prefer gigabit), watch toolchain cache (default 50 MB ≈ three OE toolchains), blacklist small-test recipes, and expect occasional lost‑job timeouts.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:30Outline
- 0:59Advantages of a central scheduler
- 3:53Performance Testing
- 4:37Testing Environment
- 4:51Results (CPU time)
- 8:48Results (Wall Time)
- 12:39Why use Icecream?
- 13:34How to enable Icecream?
- 15:55Blacklisting
- 16:41Network Performance
- 17:11Keep Up to Date with Upstream
- 18:15Use a dedicated scheduler
- 19:05Avoid Virtual Machines
- 19:42Remote Preprocessing
- 20:20What's Next?
- 21:48Conclusion
- 26:33What is Icecream?
related talks
53mReal-World Yocto: Getting the Most out of Your Build System
01h 04mCommon-sense acceleration of your MLOC build
40mWhy the Yocto Project for My IoT Project
42mSpeed-up bitbake with SSTATE, PRSERV and HashSERV
05mTips for Speeding Up Cargo Build in CI
46mBuilding and Packaging Modern C++
34mScheduling in CI/CD systems
20mDevelopment efficiency with expert CI/CD strategies
