[ 
https://issues.apache.org/jira/browse/THRIFT-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Duxbury updated THRIFT-110:
---------------------------------

    Attachment: compact-proto-spec-2.txt

OK, one final update to the spec. There's empty space in the type headers of 
lists and sets that can be filled with the size of the list, as long as the 
list is 0-14 elements long. Size 15 is reserved to mean there is a varint size 
following for lists > 14 items long. This optimization will be pretty easy to 
code up, and will save a byte on every short list or set serialized.

> A more compact format 
> ----------------------
>
>                 Key: THRIFT-110
>                 URL: https://issues.apache.org/jira/browse/THRIFT-110
>             Project: Thrift
>          Issue Type: Improvement
>            Reporter: Noble Paul
>            Assignee: Bryan Duxbury
>         Attachments: compact-proto-spec-2.txt, compact-proto-spec-2.txt, 
> compact-proto-spec-2.txt, compact-proto-spec-2.txt, compact_proto_spec.txt, 
> compact_proto_spec.txt, irclog.txt, thrift-110-v10.patch, 
> thrift-110-v2.patch, thrift-110-v3.patch, thrift-110-v4.patch, 
> thrift-110-v5.patch, thrift-110-v6.patch, thrift-110-v7.patch, 
> thrift-110-v8.patch, thrift-110-v9.patch, thrift-110.patch
>
>
> Thrift is not very compact in writing out data as (say protobuf) . It does 
> not have the concept of variable length integers and various other 
> optimizations possible . In Solr we use a lot of such optimizations to make a 
> very compact payload. Thrift has a lot common with that format.
> It is all done in a single class
> http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/common/util/NamedListCodec.java?revision=685640&view=markup
> The other optimizations include writing type/value  in same byte, very fast 
> writes of Strings, externalizable strings etc 
> We could use a thrift format for non-java clients and I would like to see it 
> as compact as the current java version

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

Reply via email to