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

Evaluate build cache for Windows builds #151

Closed
ChristianKuehnel opened this issue Mar 27, 2020 · 4 comments
Closed

Evaluate build cache for Windows builds #151

ChristianKuehnel opened this issue Mar 27, 2020 · 4 comments

Comments

@ChristianKuehnel
Copy link
Collaborator

ChristianKuehnel commented Mar 27, 2020

Goal

Find a build cache tool that works with the Visual Studio compile on our build agents.

Context

The Windows build is quite slow at the moment (32 core, local SSD):

  • ninja all: 27 min
  • ninja check-all: 13 min (after ninja all)

On Linux ccache brings a major decrease in compile times: from ~20 min (clean ninja all) down to ~1 min (fully cached). It would be good, to have something similar for Windows as well.

You can use the existing benchmark script to measure the speedup.

Tools I found so far:

Requirements

  • works with Visual Studio
  • works in Windows docker container(s)
  • nice to have:
    • tool is free for LLVM (no hassle with licence payments)
    • supports distributed builds

Alternatives

@ChristianKuehnel
Copy link
Collaborator Author

ChristianKuehnel commented Apr 3, 2020

Results so far:

  • Goma/RBE
    • tied to google infrastructure
    • tricky to set up, not much documentation
  • sccache (with local caching)

@ChristianKuehnel
Copy link
Collaborator Author

The preprocessor with sccache on Windows seem to be a compiler bug: https://developercommunity.visualstudio.com/content/problem/67300/stringifying-raw-string-literal.html

Updating to VS2019 and trying again...

@ChristianKuehnel
Copy link
Collaborator Author

Preparing rollout to beta testers: #162
This is using local sccache, no distributed caching yet.

@ChristianKuehnel
Copy link
Collaborator Author

using sccache builds now for beta testers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant