You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2010/02/15 19:55:28 UTC

[jira] Created: (THRIFT-704) Compact Protocol improvement: combine sequence of multiple STOP fields together

Compact Protocol improvement: combine sequence of multiple STOP fields together
-------------------------------------------------------------------------------

                 Key: THRIFT-704
                 URL: https://issues.apache.org/jira/browse/THRIFT-704
             Project: Thrift
          Issue Type: Improvement
    Affects Versions: 0.2
            Reporter: Bryan Duxbury
            Assignee: Bryan Duxbury
             Fix For: 0.3


One thing I've noticed looking at some of our compact-protocol-serialized structs is that we often have a sequence of STOP markers at the end of the stream. This occurs when you have a relatively deep object tree - once you are done serializing the last "leaf" object, you will write out a number of STOP fields equal to the height of the tree. Strictly speaking, there will be benefit found in the last leaf node of every subtree, not just the last leaf node of the entire tree.

It should be possible to compress these STOPs together by packing a count into a single STOP. Then, when reading, the protocol can sort of pre-buffer the correct number of STOPs. These changes would leave the protocol implementation backwards compatible from the reading perspective, but not from the writing perspective. As such, I would probably add a flag to enable and disable this behavior when writing. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.