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

Port DH-12148: Formula Array Access #3346

Merged
merged 13 commits into from
Mar 10, 2023
Merged

Conversation

nbauernfeind
Copy link
Member

@nbauernfeind nbauernfeind commented Jan 21, 2023

I had to pull together several PR's to completely port this feature. There was a lot more work than I anticipated lurking beneath the façade of DH-12148.

I felt that ShiftColumnOperation could be improved on from a performance point of view. I've included a test that arbitrarily takes ~30s on the original implementation, and ~8s on the replacement implementation. This is +70% improvement for that arbitrary, but hand picked, case using random updates. There are degenerate scenarios of the original implementation that the new implementation avoids. I dropped the replacement in a separate commit should one want to review the port vs the rewrite.

An interesting bonus of supporting formula array access is that we can drop most usages of EvalNugget#hasUnstableColumns as array offset access is now guaranteed to propagate downstream. This helped me identify a bug or two.

There were a couple of snippets/scenarios in the DHE port that just did not work in DHC. I reached out to @cpwright offline to highlight concerns.

DH-12148: Formula Array Access changes commit
DH-12030 Implement ShiftColumnOperation commit
DH-12199: ShiftedColumnOperation's ModifiedColumnSet should include all Source Column + Shifted Columns commit
DH-12273: FormulaArrayAccess changes for where clause commit

Nightlies are running here.

Copy link
Contributor

@lbooker42 lbooker42 left a comment

Choose a reason for hiding this comment

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

Very excited to see APPEND_ONLY attribute, I think this could be used to accelerate a large number of operations.

lbooker42
lbooker42 previously approved these changes Mar 7, 2023
lbooker42
lbooker42 previously approved these changes Mar 8, 2023
@nbauernfeind nbauernfeind merged commit 6e776a9 into deephaven:main Mar 10, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Mar 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants