-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[CI][C++] Bad compile/link times despite ccache #35641
Comments
It seems "Could not use precompiled header" is the reason, at least on See also: GH-35642 |
If precompiled header is a problem, we may be able to fix this by the following change: diff --git a/docker-compose.yml b/docker-compose.yml
index 588146075..96b4290f5 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -281,7 +281,6 @@ services:
ARROW_EXTRA_ERROR_CONTEXT: "ON"
ARROW_MIMALLOC: "ON"
ARROW_USE_LD_GOLD: "ON"
- ARROW_USE_PRECOMPILED_HEADERS: "ON"
BUILD_DOCS_PYTHON: "ON"
volumes: &conda-volumes
- .:/arrow:delegated |
hm interesting investigation, thanks @pitrou ! |
Yes, I think we should disable precompiled headers, and perhaps enable unity builds instead. |
@felipecrv Do you want to take a look at this? |
I'm unassigning myself for now because I have too many open workstreams that I want to close right now. |
No problem, @felipecrv ! @benibus, are you interested in taking a look at this? |
### Rationale for this change ccache does not like precompiled headers and does not cache anything in that case, which pessimizes build times. ### What changes are included in this PR? Disable precompiled headers, and enable unity builds to make up for it. ### Are these changes tested? Yes, by construction. ### Are there any user-facing changes? No. * Closes: #35641 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
### Rationale for this change ccache does not like precompiled headers and does not cache anything in that case, which pessimizes build times. ### What changes are included in this PR? Disable precompiled headers, and enable unity builds to make up for it. ### Are these changes tested? Yes, by construction. ### Are there any user-facing changes? No. * Closes: apache#35641 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
### Rationale for this change ccache does not like precompiled headers and does not cache anything in that case, which pessimizes build times. ### What changes are included in this PR? Disable precompiled headers, and enable unity builds to make up for it. ### Are these changes tested? Yes, by construction. ### Are there any user-facing changes? No. * Closes: apache#35641 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Antoine Pitrou <antoine@python.org>
Describe the bug, including details regarding any error messages, version, and platform.
Example here on the AMD64 Conda C++ build:
https://github.com/apache/arrow/actions/runs/5005430904/jobs/8969381538?pr=33634
So ccache was completely successful in this build (0 misses during the entire CMake configure / build), yet CMake took 27 minutes.
We should investigate:
ARROW_BUILD_STATIC
) to save on linking timesNote that the "AMD64 Conda C++" build can be reproduced using Archery with the
conda-cpp
image:$ archery docker run conda-cpp
Component(s)
C++
The text was updated successfully, but these errors were encountered: