-
Notifications
You must be signed in to change notification settings - Fork 577
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
segment_meta_cstore: to_iobuf optimizations
previously to_iobuf was achieved by constructing a temporary cstore, appending all the segments and serializing it. this is done so that to_iobuf can be const, in turn to be able to use it in base_manifest::serialize. To minimize operations and memory, this commits adds the ability to create a column_store that shares all the iobuf with the *this object, and then serialize it. sharing is done by constructing on top of deltafor_encoder::share() const a series of unsafe_alias() const methods, responsible to construct the subobjects. this new schema saves time by not re-encoding the segment_meta, and saves memory by sharing the underlying iobuf objects, to write them directly in the final serde iobuf
- Loading branch information
Showing
3 changed files
with
65 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters