-
Notifications
You must be signed in to change notification settings - Fork 334
Using validity bitmap as Arrow does #14409
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
Conversation
Akirathan
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.
LGTM
std-bits/table/src/main/java/org/enso/table/data/column/builder/DoubleBuilder.java
Outdated
Show resolved
Hide resolved
...its/table/src/main/java/org/enso/table/data/column/storage/ColumnStorageWithValidityMap.java
Outdated
Show resolved
Hide resolved
|
Down to 27 ❌ failed tests. Still a lot of failures like: |
|
Down to 2 failures: one failure is at and second failure is at |
Co-authored-by: Pavel Marek <pavel.marek@enso.org>
Co-authored-by: Pavel Marek <pavel.marek@enso.org>
|
Jaroslav Tulach reports a new STANDUP for yesterday (2025-12-02): Progress: .
|
jdunkerley
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 - a couple of small fixes please
std-bits/table/src/main/java/org/enso/table/data/column/builder/NumericBuilder.java
Show resolved
Hide resolved
std-bits/table/src/main/java/org/enso/table/data/column/operation/unary/CountNothing.java
Outdated
Show resolved
Hide resolved
std-bits/table/src/main/java/org/enso/table/data/column/operation/unary/IsNothingOperation.java
Outdated
Show resolved
Hide resolved
std-bits/table/src/main/java/org/enso/table/data/column/storage/ComputedLongStorage.java
Outdated
Show resolved
Hide resolved
std-bits/table/src/main/java/org/enso/table/data/column/operation/unary/CountNothing.java
Outdated
Show resolved
Hide resolved
hubertp
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.
If increased memory is an issue then why not use something like RoaringBitmap?
| if (keepValue) { | ||
| var newIsNothing = | ||
| boolStorage.isNegated() ? or(isNothing, values) : orNot(isNothing, values, checkedSize); | ||
| boolStorage.isNegated() | ||
| ? or(isNothing, values, checkedSize) | ||
| : orNot(isNothing, values, checkedSize); | ||
| newIsNothing.flip(0, checkedSize); | ||
| return new BoolStorage(values, newIsNothing, checkedSize, boolStorage.isNegated()); | ||
| } else { | ||
| var newIsNothing = | ||
| boolStorage.isNegated() ? orNot(isNothing, values, checkedSize) : or(isNothing, values); | ||
| boolStorage.isNegated() | ||
| ? orNot(isNothing, values, checkedSize) | ||
| : or(isNothing, values, checkedSize); | ||
| newIsNothing.flip(0, checkedSize); | ||
| return new BoolStorage(values, newIsNothing, checkedSize, !boolStorage.isNegated()); | ||
| } |
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.
DRY (although it has been like that before)
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.
- I had touched the code in previous commits
- and then I greatly regretted that
- in bfa1c62 I had to return the original code back
- it is probably more important to keep the semantics correct
- than to fulfill any artificial code metrics
- but the current version is also slower (because of calling
fliptwo times) - thus I may give it one more try...
|
a9592b4 to
0c07d60
Compare
|
Jaroslav Tulach reports a new STANDUP for yesterday (2025-12-03): Progress: .
|
|
Jaroslav Tulach reports a new STANDUP for yesterday (2025-12-04): Progress: .
|
|
Jaroslav Tulach reports a new STANDUP for yesterday (2025-12-05): Progress: .
|








Pull Request Description
LongStorageto make exchange between JVMs and Python possible #13851 requiresgetValidityMapthroughout our storagesChecklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
isNothingbehaviorallTrueand 0c07d60