-
-
Notifications
You must be signed in to change notification settings - Fork 684
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
Speeding up the build #672
Comments
Here's the "analysis" phase info from Travis CI:
What is SKYFRAME_EVAL? is there a way to optimize it or cache its result? |
I just tried switching all dependencies to download the zip (instead of git clone) but didn't get a speedup, see the profile information at the bottom here: https://travis-ci.org/kevinburke/rest/builds/259520850 (unless enabling profiling disables some caching steps) |
We haven't spent much time optimizing the build yet, so there could be something slow in our Skylark code. Or it could be something in one of Bazel's built-in repositories. The results are analysis are cached in memory when Bazel is run in the normal client/server mode. I don't think they are cached at all in batch mode. There probably won't be much benefit in Travis CI either way. Travis CI has some caching functionality, but the recommendation is only to use it for artifacts that are computationally expensive to produce. The cache is stored on an external server, so if it just contains files downloaded from other sources (e.g., the Go SDK), downloading the cache will take just as long. |
I'm going through our issues and closing old ones. Performance is still not where I want it to be. I have a few pending PRs that should help matters a bit (#1608 is the last in this series). Fewer SDK and standard library files will be available in the sandbox. We'll also use the pre-compiled standard library when building in a compatible mode (not cross compiling, not msan, etc). That should speed things up a bit. I've filed #1609 to track performance in more detail. I've already written a minimal benchmark, which is running nightly on my desktop, but that needs to be expanded a lot. |
Say I wanted to improve the performance of Bazel in the first run, what should I try? I'm curious about this in general. Here, 14 seconds are spent in the "analyzing" step. Is there a way to cache that for the next run on Travis CI? I'm caching
$HOME/.bzrepos
but not sure that does the trick.The text was updated successfully, but these errors were encountered: