Conversation
|
Thanks for your pull request and interest in making D better, @marler8997! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + dmd#10588" |
MoonlightSentinel
left a comment
There was a problem hiding this comment.
Some suggestions
| if (force) | ||
| return false; | ||
|
|
||
| auto oldestTargetTime = SysTime.max; |
There was a problem hiding this comment.
Maybe start with the timestamp of thisBuildScript to avoid the chain + array literal?
There was a problem hiding this comment.
This function is supposed to be generic, not specific to this particular build.d.
There was a problem hiding this comment.
BTW, we really ought to start using a more robust mechanism for determining whether we need to rebuild (like comparing a hash digest of the sources with a previously recorded hash, if any), not just the timestamp. Do you think this would be easily doable (of course I'm not talking about doing it with this PR)?
There was a problem hiding this comment.
"Source hashing" does make the build more robust, but comes at the cost of performance. @CyberShadow and I had a discussion about doing this in rund (dragon-lang/rund#22). Right now my thought is that source hashing for rund (and probably for build.d as well) is that it's not really worth the performance cost and extra build logic.
Note that I'm assuming that source hashing would only help with "false positives" (rebuilding when you don't need to). If it also fixes "false negatives" (not rebuilding when you do need to) then I would give it more importance. If you know of "false negative" use cases it would fix then let me know.
I think my comment here would also apply to source hashing in build.d: dragon-lang/rund#22 (comment)
a2e1ffb to
302fef7
Compare
|
@marler8997 please give this a force push as it seems the doc tester has failed due to network errors. |
|
Oh, there a merge conflict. |
302fef7 to
cada129
Compare
|
Rebased, this one should be good to go. |
cada129 to
6efa192
Compare
No description provided.