Skip to content

Conversation

@ashtum
Copy link
Collaborator

@ashtum ashtum commented Jun 12, 2025

Improvements:

  • User-provided buffers are now type-erased and used directly, rather than being copied into a flat buffer. This enables efficient handling of buffer sequences with many elements.

  • Chunk encoding now occurs within the main buffers, allowing serialization of multiple chunks. This also improves buffer consumption efficiency by reducing the total number of buffers.

  • The number of internal states maintained by the serializer has been reduced. This lowers memory overhead and simplifies reasoning about the implementation.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://137.http-proto.prtest.cppalliance.org/index.html

@cppalliance-bot
Copy link


//---------------------------------------------------------

class serializer::const_buf_gen_base
Copy link
Member

Choose a reason for hiding this comment

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

this declaration could be in src/ ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We need to instantiate const_buf_gen<ConstBufferSequence> for user-provided buffers.

@ashtum ashtum force-pushed the refactor-serializer branch from 5620864 to a5ee891 Compare June 14, 2025 08:35
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://137.http-proto.prtest.cppalliance.org/index.html

@cppalliance-bot
Copy link

@ashtum ashtum force-pushed the refactor-serializer branch from a5ee891 to 4183089 Compare June 14, 2025 13:26
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://137.http-proto.prtest.cppalliance.org/index.html

@cppalliance-bot
Copy link

@ashtum ashtum force-pushed the refactor-serializer branch from 4183089 to 1318efe Compare June 14, 2025 20:49
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://137.http-proto.prtest.cppalliance.org/index.html

Improvements:

* User-provided buffers are now type-erased and used directly, rather
    than being copied into a flat buffer. This enables efficient
    handling of buffer sequences with many elements.

* Chunk encoding now occurs within the main buffers, allowing
    serialization of multiple chunks. This also improves buffer
    consumption efficiency by reducing the total number of buffers.

* The number of internal states maintained by the serializer has been
    reduced. This lowers memory overhead and simplifies reasoning about
    the implementation.
@ashtum ashtum force-pushed the refactor-serializer branch from 1318efe to c44cb03 Compare June 14, 2025 20:59
@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://137.http-proto.prtest.cppalliance.org/index.html

@cppalliance-bot
Copy link

@ashtum ashtum merged commit 56c0a98 into cppalliance:develop Jun 14, 2025
59 of 60 checks passed
@ashtum ashtum deleted the refactor-serializer branch October 4, 2025 05:39
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.

3 participants