[
https://issues.apache.org/jira/browse/THRIFT-110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12670640#action_12670640
]
Ben Maurer commented on THRIFT-110:
-----------------------------------
Hey Larry!
I completely agree with you. In fact, you can even go further and get rid of
the double type (after all, a double is just a fixed 8bit number). The problem
is that the way the thrift code currently works, the readField method needs to
give back the exact type (bool, i32, etc).
My personal thought is that it's better to break the current API now than have
a suboptimal file format forever. OTOH, I'll admit that zig zag comes nearly as
close to optimal as we're going to get.
> 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.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.