Bug#877418: dh-strip-nondeterminism: kills clojure performance
Chris Lamb
lamby at debian.org
Fri Oct 6 09:00:27 UTC 2017
Hi dkg,
> And there are more questions too: what if multiple source files
> contributed to the creation of the compiled artifact (e.g. "include"
> directives)?
Hm, that's an excellent point.
> You can also imagine a compilation regime that detects changes to a file
> (e.g. via inotify) and immediately triggers recompilation -- with a fast
> compiler and a coarse filesystem/archive timestamp, such a regime would
> end up in the same situation (serious performance impact).
Sure, but that doesn't seem like it would happen as part of a package
build?
> There are also problems with the digest based approach that lamby
> suggests: it's significantly more expensive to do a full source
> extraction and digest than it is to compare timestamp metadata.
If it were hardcoded into the filenames, one wouldn't need to do
anything onerous, eg.
-rw-r--r-- 1 0 Oct 6 09:56 helloworld.adc83b19e793491b1c6ea0fd8b46cd9f32e592fc.class
-rw-r--r-- 1 0 Oct 6 09:56 helloworld.adc83b19e793491b1c6ea0fd8b46cd9f32e592fc.clj
(Not entirely serious)
> It sounds to me like python has made a sensible tradeoff (accepting that
> equal timestamps means OK)
Just to underline, Python in Debian would not be a problem even with <
unless you consider building a .deb with SOURCE_DATE_EPOCH="$(date +%s)"
and installing that very same .deb within same second...
… but I understand you were being more general about this topic!
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
More information about the Reproducible-builds
mailing list