aui-framework / aui-framework/aui
Speed up builds for both AUI and AUI-based applications
- Dominant language
- C++
- Stars
- 600
- Forks
- 44
- Avg merge
- 17h 56m
- Merged PRs (30d)
- 3
Description
As the project grows, the build times too. Due to my insane love for template metaprogramming, it contributes to build times, too. A cpp file that includes AForEachUI.h compiles considerably slower.
We need to research additional ways to improve compilation speeds. There are ways I know:
- precompiled headers
- cmake unity builds
- aui has many ODR violations, i.e, `static constexpr auto LOG_TAG`
- clang has build time profiling flag; should recognize and fix time consuming headers
Contributor guide
Research direction
Start by profiling compilation of a C++ file that includes AForEachUI.h with Clang's build-time profiling flag. Compare precompiled headers and CMake unity builds, while checking the noted ODR violations such as static constexpr auto LOG_TAG. Done means a measured compilation-speed improvement for AUI and AUI-based applications without introducing those violations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100