首页 > 技术文章 > Protobuffer简介c#

ITGirl00 2014-04-10 10:23 原文

一、Protobuffer和json深度对比

 

JSON相信大家都知道是什么东西,如果不知道,那可就真的OUT了,GOOGLE一下去。这里就不介绍啥的了。

 

Protobuffer大家估计就很少听说了,但如果说到是GOOGLE搞的,相信大家都会有兴趣去试一下,毕竟GOOGLE出口,多属精品。

 

Protobuffer是一个类似JSON的一个传输协议,其实也不能说是协议,只是一个数据传输的东西罢了。

 

那它跟JSON有什么区别呢?

 

跨语言,这是它的一个优点。它自带了一个编译器,protoc,只需要用它进行编译,可以编译成JAVApythonC++代码,暂时只有这三个,其他就暂时不要想了,然后就可以直接使用,不需要再写任何其他代码。连解析的那些都已经自带有的。JSON当然也是跨语言的,但这个跨语言是建立在编写代码的基础上。

 

如果想再深入了解的,可以去看看:

 

https://developers.google.com/protocol-buffers/docs/overview

 

好了,废话不多说,我们直接来看看,为什么我们需要对比protobuffer(下面简称GPB)和JSON

 

1、JSON因为有一定的格式,并且是以字符存在的,在数据量上还有可以压缩的空间。而GPB上大数据量时,空间比JSON小很多,等一下的例子我们可以看到。

 

2、JSON各个库之间的效率相差比较大,jackson库和GSON就大概有5-10的差距(这个只做过一次测试,如有误,请大家轻拍)。而GPB只需要一个,没有所谓的多个库的区别。当然这个点只是弄出来凑数的,可以忽略不计哈。

摘自:http://cxshun.iteye.com/blog/1974498

 

推荐阅读