Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve build time #1474

Closed
wants to merge 14 commits into from
Closed

Conversation

vasil-pashov
Copy link
Collaborator

@vasil-pashov vasil-pashov commented Apr 3, 2024

  • Fix compilation errors with clang-18 due to Werror
  • Run include-what-you-use to reduce includes and add forward declarations

TLDR
Using the suggestions from include-what-you-use makes full builds ~10% faster sparing 20s on a local machine (Processor: 13th Gen Intel(R) Core(TM) i7-1370P, 1900 Mhz, 14 Core(s), 20 Logical Processor(s)) building with 20 threads.

Build info:
OS: Ubuntu (WSL)
Compiler: Clang 18
Linker: Mold
Build system: Ninja
(Clang and Mold are custom builds using additional flags -O3 -march=native -flto=full, arcticdb is built as usual)

# Master (debug) in seconds IWYU (debug) in seconds
1 212.31 203.37
2 234.02 212.33
3 234.24 213.05
4 233.63 213.32
5 233.27 213.76
6 233.79 213.07
7 234.13 213.23
8 232.67 212.27
9 233.18 212.25
10 233.87 212.58
11 233.75 213.21
12 233.63 213.16
13 232.89 213.87
14 233.64 213.39
15 233.12 213.54
Mean 232.1426667 212.4266667
Median 233.63 213.16
SD 5.505148845 2.557028595

Reference Issues/PRs

What does this implement or fix?

Any other comments?

Checklist

Checklist for code changes...
  • Have you updated the relevant docstrings, documentation and copyright notice?
  • Is this contribution tested against all ArcticDB's features?
  • Do all exceptions introduced raise appropriate error messages?
  • Are API changes highlighted in the PR description?
  • Is the PR labelled as enhancement or bug so it appears in autogenerated release notes?

Vasil Pashov added 3 commits April 3, 2024 12:12
- Fix compilation errors with clang-18 due to Werror
- Run include-what-you-use to reduce includes and add forward
  declarations
@vasil-pashov vasil-pashov force-pushed the maint/vasil.pashov/include-what-you-use branch 2 times, most recently from 6769e93 to 748df2b Compare April 3, 2024 13:30
@vasil-pashov vasil-pashov force-pushed the maint/vasil.pashov/include-what-you-use branch from 748df2b to f65733d Compare April 3, 2024 13:47
@vasil-pashov vasil-pashov marked this pull request as ready for review April 3, 2024 16:14
cpp/arcticdb/codec/segment.hpp Outdated Show resolved Hide resolved
cpp/arcticdb/processing/aggregation.cpp Show resolved Hide resolved
cpp/arcticdb/storage/test/test_storage_factory.cpp Outdated Show resolved Hide resolved
cpp/arcticdb/util/test/gtest_main.cpp Outdated Show resolved Hide resolved
@vasil-pashov vasil-pashov force-pushed the maint/vasil.pashov/include-what-you-use branch from ad3665e to 7aec972 Compare April 16, 2024 15:00
@vasil-pashov vasil-pashov mentioned this pull request Apr 22, 2024
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants