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

Consider reducing the amount of output cached for Swift compilation #854

Open
big-guy opened this Issue Sep 20, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@big-guy
Member

big-guy commented Sep 20, 2018

We currently cache the entirety of the "objects" output directory for Swift compilation.

This includes other files (like .swiftdoc, .d and partial swiftmodule files). We should do some investigation, but I think these are mostly unnecessary for what we need to support right now. Some of these output files never make sense to share because they embed absolute file paths.

As an experiment, I reduced the files to just .o: https://github.com/gradle/gradle/tree/sg/swift/faster-caching

I think a side effect of this is that the next build after restoring from the build cache must be non-incremental.

This had an appreciable affect on the build cache tests:
https://builds.gradle.org/viewLog.html?buildId=15943729&buildTypeId=Gradle_Util_Performance_AdHocPerformanceScenarioLinux&tab=buildResultsDiv

The "get everything from the cache" build went from 1.8s to 780 ms (a second less).

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