`

Thrift 和 Protocol Buffers 比较

阅读更多

 ThriftProtocol Buffers Backers Bindings Output Formats Primitive Types Enumerations Constants Composite Type Exception Type Documentation License Compiler Language RPC Interfaces RPC Implementation Composite Type Extensions
Facebook, Apache (accepted for incubation) Google
C++, Java, Python, PHP, XSD, Ruby, C#, Perl, Objective C, Erlang, Smalltalk, OCaml, and Haskell C++, Java, Python
(Perl, Ruby, and C# under discussion)
Binary, JSON Binary
bool
byte
16/32/64-bit integers

double
string
byte sequence
map<t1,t2>
list<t>
set<t>
bool

32/64-bit integers
float
double
string
byte sequence

“repeated” properties act like lists
Yes Yes
Yes No
struct message
Yes No
So-so Good
BSD-style Apache
C++ C++
Yes Yes
Yes No
No Yes

 

http://stuartsierra.com/2008/07/10/thrift-vs-protocol-buffers

 

Milliseconds to create an object, smaller is better. The Protobuf results is not a mistake! It was created by the builder pattern.

Milliseconds to serialize an object to a byte array, smaller is better.
Milliseconds to deserialize an object from byte array, smaller is better.
Size of the byte array of a serialized object, smaller is better.

 

http://eishay.blogspot.com/2008/11/serialization-protobuf-vs-thrift-vs.html

 

从比较可以看出来,Thrift是很不错的,只是,现在似乎在windows编译有点麻烦。

 

 

分享到:
评论

相关推荐

    Apache Thrift 使用说明

    详细介绍了Apache Thrift在Ubuntu以及Windows下基于C++和Java语言的安装和运行。附有小例子,亲自测试通过。所述方法网上应该有教程,但大多零散不统一或者不完整,因此本人整理了一份,特来分享。

    benchmarks:Protocol Buffers 和 Thrift 的基准测试

    Protocol Buffers 和 Thrift 的基准。如何运行基准测试克隆存储库: $ git clone $ cd benchmarks $ git submodule init $ git submodule update 按照此处的说明安装 Thrift 的依赖项: 构建并运行基准测试: $ ...

    thrift web实例代码

    使用thrift js时,PRotocol需要使用TJSONPRotocol/TBinaryProtocol协议,Thrift.Protocol对应的是TJSONPRotocol。Transport需要使用TXHRTransport/TWebSocketTransport通道,Thrift.Transport对应的是TXHRTransport...

    thrift初步了解

    thrift协议protocol: TBinaryProtocol:二进制格式 TCompactProtocol:高效压缩的二进制格式 TDenseProtocol:与TCompactProtocol相比,meta信息略有不同 TJSONProtocol JSON TDebugProtocol text 格式 方便调试 ...

    thrift介绍、各种server的比较、多接口服务实现

    thrift特性、不支持的特性、对各个语言的支持情况、语法参考、Thrift 架构、协议、传输层、服务端类型、各种thriftServer实现的比较、Thrift对多接口服务的支持

    Go-Bender一个用于创建负载测试应用程序易于使用的Go库

    Bender可以使用HTTP,Thrift,Protocol Buffers等协议轻松构建服务的负载测试应用程序。 Bender提供了一个灵活,强大的原语库,可以组合(使用普通的Go代码)来构建针对任何用例定制的负载测试器

    使用thrift、websocket在javascript和cpp之间建立rpc调用

    使用thrift、websocket在javascript和c++之间建立rpc调用机制。 如果要使用js+html来写界面,cpp来写底层业务逻辑,这就非常有用了。 当然,如果底层不用cpp来写,也可以参考本代码的js对thrift的rpc包装。

    thrift-0.9.1.exe和thrift-0.9.2.exe

    thrift文件生成工具thrift-0.9.1.exe和thrift-0.9.2.exe压缩包

    thrift C++和.net库

    1、编译后的thrift C++和.net库文件; 2、C++库只上传了多线程相关的静态库; 3、因thrift用了openssl,实际开发中可能需要加入openssl的库才能编译和运行; 4、thrift使用了boost,C++开发需要包含boost相关库和...

    用C#和C++写的Apache Thrift的小范例

    本例改编自Apache Thrift教程: ... ... 原教程使用的是c++ server和php client. 我用c++和c#分别实现了client和server,他们之间可以用任意组合互相调用,没有太复杂的功能,非常利于初学Thrift.

    the programmer's guide to apache thrift

    Apache Thrift is an open source cross language serialization and RPC framework. With support for over 15 programming languages, Apache Thrift can play an important role in a range of distributed ...

    thrift源码

    thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码...

    thrift安装

    thrift 安装包。

    thrift server support db operation and rest protocol

    modified thrift server , support rest , http protocol with json content . support multi oracle db

    Windows下QT使用Thrift的样例

    网上一直搜不到Windows下QT使用thrift的例子,自己整了个 QT版本 5.8.0 Boost版本 boost_1_61_0 Thrift版本 thrift-0.10.0

    Thrift工具和依赖的jar包

    Thrift工具0.9.3和依赖的jar包

    Thrift之C++初体验

    thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, ...

    基于thrift的RPC调用实例

    RPC(Remote Procedure Call Protocol)远程过程调用协议实例,学习和使用thrift无痛入门代码。具体使用方法,可以看博客详解。

    使用wireshark抓取thrift协议接口调用

    使用wireshark抓取thrift协议接口调用

    thrift 的 java 和 python结合例子

    一个java和python的thrift例子,其中java作为服务端,python作为客户端

Global site tag (gtag.js) - Google Analytics