aui-framework / aui-framework/aui

Speed up builds for both AUI and AUI-based applications

Open
#541 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.