-
Notifications
You must be signed in to change notification settings - Fork 93
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
Reverts DataFrame Indexing Changes #3323
Conversation
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.
Looks good, thanks for putting this together.
I just started a build on Horizon to make sure the performance was restored, but will merge once that comes back good 👍
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.
array size = 10,000
number of trials = 1
>>> arkouda dataframe display
numLocales = 16, N = 160,000
_get_head_tail_server Average time = 0.9649 sec
_get_head_tail_server Average rate = 0.03 GiB/sec
_get_head_tail Average time = 1.9099 sec
_get_head_tail Average rate = 0.01 GiB/sec
Looks good
Annotations --- - (#25140) introduced shared-memory bypass behavior that caused several perf. regressions, (#25307) helped resolve that somewhat by reverting some behavior. Arkouda annotations: - (Bears-R-Us/arkouda#3323) reverted a prior PR that caused a perf regression w/ dataframe indexing - (Bears-R-Us/arkouda#3335) and (Bears-R-Us/arkouda#3368) PR (and the fix) that incorrectly changed how the number of bytes were calculated for string IO benchmark.
Because of performance regressions, Ben and I determined that reverting the dataframe indexing updates was the best path forward to get a release out this week. This PR reverts those updates.
This should both fix the performance regressions and return the code base to a state where a
.values
call is not needed on each DataFrame indexing call.Tested with CHPL_COMM={gasnet,none} for regular tests, proto tests, and benchmarks.