Skip to content

Conversation

@dfederm
Copy link
Member

@dfederm dfederm commented Mar 6, 2025

Instead of only touching files which are considered up-to-date, this change just touches all output files. This improves incremental builds by ensuring that all files have the same timestamp as opposed to being non-deterministically slightly different, which can lead to incrementality issues if, for example, an intermediate outputs is newer than a final outputs.

This is put behind yet another flag since setting this metadata on every file is not free. At some point I may need to consider whether to group a bunch of these flags together under an umbrella "enable incremental builds" flag or something.

@dfederm dfederm enabled auto-merge (squash) March 6, 2025 18:18
@dfederm dfederm merged commit 63b284e into main Mar 6, 2025
6 checks passed
@dfederm dfederm deleted the touch-all-outputs branch March 7, 2025 00:05
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.

3 participants