Skip to content

Commit

Permalink
cache getNobjects and capacity
Browse files Browse the repository at this point in the history
  • Loading branch information
hmottestad committed Nov 28, 2024
1 parent e0f1654 commit ef5b261
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,11 +119,19 @@ public long getNpredicates() {
return predicates.getNumberOfElements();
}

long cachedNobjects = -1;

@Override
public long getNobjects() {
return getNshared() + nonTyped.getNumberOfElements()
if (cachedNobjects != -1) {
return cachedNobjects;
}

long l = getNshared() + nonTyped.getNumberOfElements()
+ languages.values().stream().mapToLong(DictionarySection::getNumberOfElements).sum()
+ typed.values().stream().mapToLong(DictionarySection::getNumberOfElements).sum();
cachedNobjects = l;
return l;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,17 @@ public void order(ByteOrder order) {
/**
* @return the capacity of the big buffer
*/

long capacity = -1;

public long capacity() {
return buffers.stream().mapToLong(CloseMappedByteBuffer::capacity).sum();
if (capacity != -1) {
return capacity;
}

long sum = buffers.stream().mapToLong(CloseMappedByteBuffer::capacity).sum();
capacity = sum;
return sum;
}

private int getBufferOffset(long index) {
Expand Down

0 comments on commit ef5b261

Please sign in to comment.