[
https://issues.apache.org/jira/browse/THRIFT-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665330#action_12665330
]
Bryan Duxbury commented on THRIFT-110:
--------------------------------------
As discussed previously, using deltas for the field ids is really only a win if
your structs are densely populated. Rapleaf, for one, has structs with many
fields that are unset in every structure. The current approach guarantees 1
byte per field id as long as you have less than 127 field ids which I think is
probably good enough.
Your idea of dropping some types from the wire is interesting, though. Maybe
the protocol could just encode "integer" on the wire and always use varints.
That would free up a bit in the type header, which would expand the space we
could use for a lot of things... I'll think on that.
I already proposed changing the proto interface once (THRIFT-167), and we
decided that wasn't a good idea because it increased the complexity of code
generation and made protocols more intricate by default rather than as an
option.
> A more compact format
> ----------------------
>
> Key: THRIFT-110
> URL: https://issues.apache.org/jira/browse/THRIFT-110
> Project: Thrift
> Issue Type: Improvement
> Reporter: Noble Paul
> Attachments: 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.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.