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 2009/02/07 03:12:59 UTC
[jira] Updated: (THRIFT-110) A more compact format
[ 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
Here's an updated version of the protocol spec. It includes a few minor changes:
* Message header now contains the "protocol-id", a single-byte value designed to make it easy to tell this isn't a framed transport message and to distinguish it on the wire from TBinaryProtocol and TDenseProtocol.
* Added the "extended" type header symbol, essentially as a reserved position so that we can give ourselves some more room for additional types should we ever need them. (Note that there are currently no implemented extended types.)
* List, set, and map changed the order of the fields in their headers to avoid storing the subtype headers if the collection length is zero.
I will update the Java TCompactProtocol to comply to the new spec shortly.
> 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.txt, compact_proto_spec.txt, 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.