-
Notifications
You must be signed in to change notification settings - Fork 78
Use KAS_BORROWS_ARRAY #2124
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
Use KAS_BORROWS_ARRAY #2124
Conversation
17dc39c to
1acda19
Compare
Codecov Report
@@ Coverage Diff @@
## main #2124 +/- ##
==========================================
- Coverage 93.37% 93.37% -0.01%
==========================================
Files 27 27
Lines 25591 25586 -5
Branches 1161 1161
==========================================
- Hits 23895 23890 -5
Misses 1666 1666
Partials 30 30
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
jeromekelleher
left a comment
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, but I think there's a simpler approach where we deal with the (small number) of const columns separately.
|
At the moment this is having no effect on max ram, digging in to check the changes are being used. |
|
Plots from memory-profiler are super helpful for this, should let us see the different stages on a simple script like I guess we might have to manually turn up the sampling interval to see accurately what's happening though. |
This is actually an interesting challenge as the write arrays are copied then freed without control going back to python. |
|
If you run it with |
|
Kablammo! Nicely done @benjeffery - it's rare we get such clear wins (you should post this to the slack, in case folks haven't seen it). |
8f2a1dd to
229d148
Compare
|
@jeromekelleher As discussed I've bought the file format writing up a level so all the arrays to write have the correct lifetime. This simplifies things so we have one code path for everything (except the 32bit arrays). |
229d148 to
899cc4e
Compare
jeromekelleher
left a comment
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.
Ah, this is much simpler!
A few layout nitpicks and we're done. (I have a general phobia of repeated complicated function calls when all that's different is one parameter. It's so easy to introduce subtle issues later if you update one call later and forget to update the other one)
899cc4e to
fda22d1
Compare
|
@jeromekelleher all fixed up! |
jeromekelleher
left a comment
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.
🎉
fda22d1 to
85f2d21
Compare


Fixes #2111
Draft as still needs memory perf to check we have gains.