Include cleanup: reduce header bloat#60490
Include cleanup: reduce header bloat#60490MaxKellermann wants to merge 138 commits intoceph:mainfrom
Conversation
41aa080 to
2d0d1d2
Compare
ad8aa26 to
41f34dd
Compare
96c47bf to
ab8e62f
Compare
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
To reduce header dependencies and compile times. Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
Signed-off-by: Max Kellermann <[email protected]>
a44b9f5 to
00f173c
Compare
|
This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved |
|
This pull request has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs for another 30 days. |
|
This PR isn't stale, it's just that all my other PRs which were based on this one have been ignored for the past 5 months with no explanation and no review. I will update this PR as soon as there is feedback for the other PRs. Until then, I will keep posting useless comments (to all PRs) to prevent the bot from auto-closing it. |
This is a continuation of #60253 (and contains many of its commits). It is a demonstration of what can be done do reduce header bloat.
Ceph build times are painfully slow and each compilation unit takes about 2 GB RAM, which means parallel builds require excessive amounts of CPU and RAM. This is because the header dependency tree is very large.
This draft PR shows a few ideas how to improve this:
Prior to this PR a clean build of
ceph-mds:After this PR:
This is a speedup of 28%, and much more can be done (still a lot of header bloat, and type erasure might also help a lot).
Note that this is a quick'n'dirty draft PR. Only
ceph-mdsbuilds and all other executables will fail, some due to pre-existing bugs because includes were missing, others because I didn't adapt to splitted headers yet.Checklist