Skip to content

Replacing vector-based TypedList with zero-copy TypedBuffer on top-level EncryptionSequencer#227

Merged
avalerio-tkd merged 5 commits into
mainfrom
av_typelist_optimizing_071
Mar 10, 2026
Merged

Replacing vector-based TypedList with zero-copy TypedBuffer on top-level EncryptionSequencer#227
avalerio-tkd merged 5 commits into
mainfrom
av_typelist_optimizing_071

Conversation

@avalerio-tkd

Copy link
Copy Markdown
Collaborator
  • Updating EncryptionSequencer to use TypedValuesBuffer instead of TypedListValues (zero-copy optimization).
  • Updating Encryptor interface to use reimplementation of BasicEncryptor using the zero-copy TypedValuesBuffer.

…pedListValues (zero-copy optimization).

- Updating Encryptor interface to use reimplementation of BasicEncryptor using the zero-copy TypedValuesBuffer.

@argmarco-tkd argmarco-tkd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - Ship it!

- Adding new helper functions for testing only, to generate sample Parquet payloads for testing.
@avalerio-tkd

Copy link
Copy Markdown
Collaborator Author

@argmarco-tkd thanks for the review. I went ahead an removed most of the dead code, to make sure there were no hidden/dangling dependencies to it that could affect performance.

Could you PTAL?

…t payloads for testing.

- Fixing performance_test.cpp and dbpa_remote_testapp.cpp to use the new helper functions.

@argmarco-tkd argmarco-tkd left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Overall LGTM. Left a suggestion for the *_forTesting new method. No need for a new PR if/when addressed.

Comment thread src/processing/parquet_utils.h Outdated
Comment on lines +116 to +124
std::vector<uint8_t> CombineRawBytesIntoValueBytesForTesting(
const std::vector<RawValueBytes>& elements,
Type::type datatype,
const std::optional<int>& datatype_length,
Encoding::type encoding);

std::vector<uint8_t> BuildByteArrayValueBytesForTesting(const std::string& payload);

std::vector<std::string> ParseByteArrayListValueBytesForTesting(const std::vector<uint8_t>& bytes);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: wouldn't these be better placed in a test_utils or similar file? (OK to keep as-is, but had to ask).

@avalerio-tkd avalerio-tkd Mar 10, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thought so, but it's kinda nice having all parquet formatting stuff in a single place.

Will move them to a header-only file. No, not gonna unittest the functions needed only for unittests. :)
---> Such a unitest would be called: parquet_testing_utils_test.cpp so, no.. :)

Comment thread src/processing/parquet_utils.cpp Outdated
}

std::vector<uint8_t> CombineRawBytesIntoValueBytes(
std::vector<uint8_t> CombineRawBytesIntoValueBytesForTesting(

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: also a candidate for test_utils or similar? (again, I'm ok to keep as-is)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above. After the move, will merge it.

@avalerio-tkd
avalerio-tkd merged commit 09fbaf3 into main Mar 10, 2026
2 checks passed
@avalerio-tkd
avalerio-tkd deleted the av_typelist_optimizing_071 branch March 10, 2026 04:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants