[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Deep vs Shallow trace: Removing the tradeoff?
From: |
Ludovic Courtès |
Subject: |
Re: Deep vs Shallow trace: Removing the tradeoff? |
Date: |
Sat, 17 Apr 2021 17:05:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
ilmu <ilmu@rishi.is> skribis:
> To drive the point home: If the artefact has the same hash as it did before
> then clearly the underlying change did not affect it. Early cut-off is
> therefore not possible in the case where the program being depended on is
> supposed to be used at runtime.
>
> This is at least how I am thinking about it, I think this would be a good
> incremental improvement on the state of the art but it would still have these
> limitations.
What’s currently implemented is memoization: the hash (of the .drv and
that of the output(s)) is computed over all the inputs.
Since the output file name (the one passed to “./configure --prefix” &
co.) appears in the build result 99% of the time, the content vary at
least due to occurrences of the output file name.
Thus, content comparison are not doable as is. What would help is
content comparison _modulo_ output file name(s).
But again, “same hash as it did before” is a framing that doesn’t hold
in a purely functional, stateless context.
Ludo’.