Skip to content
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

Moved tests to the more appropriate directory and added a test case based on the performance improvement to be brought by #5427 #6094

Merged
merged 12 commits into from
Apr 24, 2024

Conversation

Anirban166
Copy link
Member

A follow-up to #6078 that:

(For reference, the current state of the plot with these test cases looks like this)

@tdhock
Copy link
Member

tdhock commented Apr 18, 2024

thanks!
I was expecting to see an auto comment with the new plot, but guess we are not seeing that because the modifications are outside the R/ and src/ directories?
Can you please change it so that modifications to the atime/tests.R file trigger the performance test auto comment action? (then in PRs which change the performance tests, we would be able to see what the new test result plot looks like)

.ci/atime/tests.R Outdated Show resolved Hide resolved
@tdhock
Copy link
Member

tdhock commented Apr 18, 2024

Also I see Fast/Slow in grey, which should be fixed by my recent PR to atime https://github.com/tdhock/atime/pull/48/files (not yet on CRAN, plan to submit next week, after which time we can consider merging this PR)
68747470733a2f2f61737365742e636d6c2e6465762f633562646638316334386366386261393032356337626438656238376633633862306662656431303f636d6c3d706e672663616368652d6279706173733d30373863636263662d383465392d343561342d386133

Copy link

github-actions bot commented Apr 18, 2024

Comparison Plot

Generated via commit 6c7157d

Download link for the artifact containing the test results: ↓ atime-results.zip

Time taken to finish the standard R installation steps: 11 minutes and 40 seconds

Time taken to run atime::atime_pkg on the tests: 3 minutes and 14 seconds

@Anirban166
Copy link
Member Author

I was expecting to see an auto comment with the new plot, but guess we are not seeing that because the modifications are outside the R/ and src/ directories?

Yup

I made the changes and we'll get to see the plot soon (two times as I made two pushes; although for one workflow or R-CMD-check in particular I noticed it has preempted runs for the first commit for two made in quick succession)

Also I see Fast/Slow in grey, which should be fixed by my recent PR to atime https://github.com/tdhock/atime/pull/48/files (not yet on CRAN, plan to submit next week, after which time we can consider merging this PR)

Perfect!
And yes let's wait till then.

@Anirban166
Copy link
Member Author

Just saw the plot, not sure why merge-base is missing..

@MichaelChirico
Copy link
Member

Comparison Plot

Generated via commit 28483e8

Download link for the artifact containing the test results: ↓ atime-results.zip

Time taken to finish the standard R installation steps: 11 minutes and 56 seconds

Time taken to run atime::atime_pkg on the tests: 3 minutes and 52 seconds

@Anirban166 how will faceting work if there are, e.g. 10 plots? will it wind up being 2x20 plot or will it start breaking into new rows soon?

@Anirban166
Copy link
Member Author

@Anirban166 how will faceting work if there are, e.g. 10 plots? will it wind up being 2x20 plot or will it start breaking into new rows soon?

Good question in terms of visual scalability. I agree (if you're thinking the same) that we would likely want to vertically append those subplots too if it's too much on the horizontal. I'll need to investigate, but the answer should be in the code that generates these plots in atime.

@Anirban166
Copy link
Member Author

@MichaelChirico I looked it up and it seems that adding to the test cases will keep on appending horizontally only as per this line: (and for each test case the time and memory plots are vertically arranged as per this line)

ggplot2::facet_grid(unit ~ expr.name, scales="free")

So yes, at present it'll be 2x20 for twenty test cases with each row only corresponding to a different unit for each of those columns.

Co-authored-by: Michael Chirico <michaelchirico4@gmail.com>
@MichaelChirico
Copy link
Member

I filed tdhock/atime#49 to handle this first upstream, nothing to do in data.table for now.

@tdhock
Copy link
Member

tdhock commented Apr 19, 2024

Just saw the plot, not sure why merge-base is missing..

merge-base is missing if it is the same as another commit already shown (typically master)

@tdhock
Copy link
Member

tdhock commented Apr 19, 2024

why does the Fast curve memory go up so sharply for large N?

-> answering my own question:
it is normal, this is the amount of memory the other versions would require too, but the other versions are not being run for those larger N values.

.ci/atime/tests.R Outdated Show resolved Hide resolved
.ci/atime/tests.R Outdated Show resolved Hide resolved
@jangorecki jangorecki removed their request for review April 23, 2024 10:43
@@ -105,6 +105,18 @@ test.list <- list(
expr = quote(data.table:::`[.data.table`(dt_mod, , N := .N, by = g)),
Before = "be2f72e6f5c90622fe72e1c315ca05769a9dc854", # Parent of the regression causing commit (https://github.com/Rdatatable/data.table/commit/e793f53466d99f86e70fc2611b708ae8c601a451) in the PR that introduced the issue (https://github.com/Rdatatable/data.table/pull/4491/commits)
Regression = "e793f53466d99f86e70fc2611b708ae8c601a451", # Commit responsible for regression in the PR that introduced the issue (https://github.com/Rdatatable/data.table/pull/4491/commits)
Fixed = "58409197426ced4714af842650b0cc3b9e2cb842") # Last commit in the PR that fixed the regression (https://github.com/Rdatatable/data.table/pull/5463/commits)
Fixed = "58409197426ced4714af842650b0cc3b9e2cb842"), # Last commit in the PR that fixed the regression (https://github.com/Rdatatable/data.table/pull/5463/commits)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another aside: @tdhock let's support test.list having a NULL final entry, that way we can have like:

test.list <- list(
  "A" = list(...),
  "B" = list(...),
  NULL
)

And avoid the pesky git diff on irrelevant lines every time a test is added (as in here, where we add , --> diff)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great idea

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

implemented in atime github, https://github.com/tdhock/atime/blob/ea591e37a8fbf69a06a0cdbb8a51108cb73290fb/R/test.R#L14 I will file a follow up PR next week after that gets on CRAN

.ci/atime/tests.R Outdated Show resolved Hide resolved
Copy link
Member

@MichaelChirico MichaelChirico left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff!

@tdhock tdhock merged commit 29a0f13 into master Apr 24, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants