当前位置:   article > 正文

JSON与protocol buffer效率比较

JSON与protocol buffer效率比较

https://blog.csdn.net/sudaobo/article/details/5439994

对于较多信息的存储和较大文件,protocol buffer的写入和解析效率明显高很多。但是JSON格式的可读性明显要好。

JSON

总共写65535条Data记录到文件中,测试结果如下:

生成的文件尺寸是23,733k。

生成文件的时间是12.80秒。

从该文件中解析的时间是11.50秒。

 

Protocol Buffer

总共写65535条Data记录到文件中,测试结果如下:

生成的文件尺寸是3760k。

生成文件的时间是0.08秒。

从该文件中解析的时间是0.07秒。

 

JSON、Protocol Buffer都属于数据交换格式,都可以用于保存信息。最近对两者保存信息到文件中和从文件中解析信息的效率进行了测试比较。

 

机器配置

CPU: AMD Athlon 64 X2 4600+

内存: 2G, DDR2 8000

操作系统: win7 32bit

硬盘:WD3200AAJS ATA

 

Protocol Buffer

Protocol Buffer格式定义:

 

message Data {

    enum VarType {

    BOOL = 0;

    INT = 1;

    FLOAT = 2;

    }

 

    required int32 id = 1;

    required VarType type = 2;

    required string name = 3;

    required int32 src = 4;

 

    required int32 alarm_group = 5;

    required int32 alarm_pri = 6;

    required int32 flag = 7;

    required float alarm_ll = 8;

    required float alarm_l = 9;

    required float alarm_h = 10;

    required float alarm_hh = 11;

    required float alarm_dead = 12;

    required int32 history = 13;

    required float history_rate = 14;

 

}

 

message DataSet {

    required int32 last_id = 1;

    repeated Data var = 2;

}

 

总共写65535条Data记录到文件中,测试结果如下:

生成的文件尺寸是3760k。

生成文件的时间是0.08秒。

从该文件中解析的时间是0.07秒。

 

JSON

JSON格式定义:

 

 

{

"GlobalDataSet" : 

[

 

{

"alarm_dead" : 0.0030,

"alarm_flag" : 51,

"alarm_group" : 100,

"alarm_h" : 1.30,

"alarm_hh" : 1.30,

"alarm_l" : 1.30,

"alarm_ll" : 1.30,

"alarm_pri" : 10,

"description" : "infoddddeeeee",

"history" : 1,

"history_rate" : 0.010,

"id" : 0,

"name" : "gd1",

"src" : 3,

"type" : 1,

"unit" : ""

},

 

... ... 

]

}

 

 

总共写65535条Data记录到文件中,测试结果如下:

生成的文件尺寸是23,733k。

生成文件的时间是12.80秒。

从该文件中解析的时间是11.50秒。

 

测试结论

对于较多信息的存储和较大文件,protocol buffer的写入和解析效率明显高很多。但是JSON格式的可读性明显要好。

--------------------- 作者:sudaobo 来源:CSDN 原文:https://blog.csdn.net/sudaobo/article/details/5439994?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/272874
推荐阅读