-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Predicting build time #80
Conversation
I wouldn't actually consider it the "build phase" if length(remaining_targets) == 0.
Codecov Report
@@ Coverage Diff @@
## master #80 +/- ##
=====================================
Coverage 100% 100%
=====================================
Files 42 42
Lines 1951 2004 +53
=====================================
+ Hits 1951 2004 +53
Continue to review full report at Codecov.
|
@dapperjapper Looks like a great start. I like that you print an estimate separately for each parallelizable stage. This feature will take some iteration, and I have a couple preliminary suggestions.
Also, I should mention that I have done a lot of development on my own this month, and none of it has been approved for release from my company yet. I will merge your feature into the upstream copy when it is ready, and I will integrate the changes into my local development copy, but the merge conflicts for the latter will be a headache. Your contribution will keep its functionality, but your code will probably look different in the end. |
@dapperjapper I just pushed 4.1.0 (on its way to CRAN). Sorry, but there are some new merge conflicts. |
Conflicts: R/cache.R R/parallel.R tests/testthat/test-cache.R
And more condensed output, returns data.table instead of single number, smarter (?) about untimed targets
@dapperjapper I really like your idea to include That got me thinking: what if we allowed users to manually pre-specify their own runtime predictions for each target? Actual stored build times would override them. I have a couple different interface alternatives in mind:
What do you think? |
As per wlandau-lilly suggestions
R/timing.R
Outdated
config = NULL, | ||
...){ | ||
|
||
if (missing(config)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For missing()
, see a tweet from @gaborcsardi and the ensuing thread.
I really appreciate what you have done here, and I have thought a lot about it. It has helped me think about what a good prediction would look like and what the user might want. I just sketched out my own first attempt in the |
Like I said, you really helped me think about #64. But I went ahead and wrote my own code, so I will not be accepting the exact code in this PR. |
I'm not sure if this is what you had in mind, but here's my initial implementation (issue #64)! I'm open to critique and revisions on this. Here's what the output looks like for the debug plan: