4 ms·
According to Apenwarr (redo implementer) claims [0] that checksums are not necessary, if you extend the mtime with size, inode number, file mode, owner uid, own
by qznc 8y ago
According to Apenwarr (redo implementer) claims [0] that checksums are not necessary, if you extend the mtime with size, inode number, file mode, owner uid, owner gid, and
(targets only) the sequence number of the last time it was built.
The blog post [0] also contains arguments against checksums: Sometimes building a target has side effects. Checksumming every output after building it is somewhat slow. Checksumming every input file before building is very slow.
[0] https://apenwarr.ca/log/20181113 https://apenwarr.ca/log/20181113
- joshuamorton 8y agoBuilding a Target shouldn't have side effects. But things to may want to do with your build system might have side effects. Bazel for example supports with with the bazel run command, as opposed to bazel build.
- ithkuil 8y agoYeah, but while the mtime++ vs content hash dichotomy is interesting and all, in a way it's all just about a performance optimization. What matters is keeping track of the actual dependencies and Redo does indeed save that knowledge in a database that gets consulted between runs.