-
Notifications
You must be signed in to change notification settings - Fork 184
RCORE-1624 RCORE-2055 Array Classification for enabling compression #7564
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
2169916
to
4936c18
Compare
9b98002
to
d3e92aa
Compare
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.
@finnschiermer promised that this typed_print
would be deleted again. If not, then all these functions could be put together in one file. Then they would not be included in the binary, if not called.
src/realm/cluster.hpp
Outdated
virtual ref_type typed_write(ref_type ref, _impl::ArrayWriterBase& out, const Table& table, bool deep, | ||
bool only_modified, bool compress) const = 0; | ||
|
||
virtual void typed_print(std::string prefix, const Table& table) const |
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.
Why have table as parameter? It is available through get_owning_table()
src/realm/group_writer.cpp
Outdated
auto ref = top.get_as_ref(Group::s_evacuation_point_ndx); | ||
REALM_ASSERT(ref); | ||
Array::destroy(ref, m_alloc); | ||
Array destroy_array(m_alloc); |
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.
This looks odd, we're only constructing the array for destroying it…
What, How & Why?
Compression is only supported for Integer arrays (and Strings in the future).
In order to decide whether to turn on compression or not, we need to:
This PR addresses 1. Next PRs will be focused on 2.
Most importantly, the commit machinery has changed, because instead of calling
Array::write
recursively, we, now inspect the properties of the array before to mark it "ready for compression."