Is Avro more efficient than Thrift for cross-language RPC?
In terms of current implementation: not many languages have full support for Avro RPC at this point, and none of the dynamic languages have native libraries yet (wrappers around C or equivalent). Additionally, HTTP is the only sanctioned transport for Avro at the moment, and individual messages are encapsulated in HTTP requests/responses. There are Avro tickets discussing adding a binary-only transport to the specification, but they are in the prototyping stage. See: https://issues.apache.org/jira/b… But, as mentioned in your link, Avro has a fundamentally more compact on-the-wire representation due to the fact that it avoids “tagging” data, except for in unions. It has a ton of potential: all it needs is contributors willing to implement and optimize idiomatic Avro support in more languages.