测试Protobuffer的定义格式对其时间和空间的影响
来源:互联网 发布:little mac 唇膏 编辑:程序博客网 时间:2024/04/28 01:19
以下测量Protobuffer格式的A命令转换为std::string的的字节个数:
- 添加图片资源
a)AddLayer:108
b)AddSource:209
c)MoveLayer:44
d)DeleteLayer:48
- 清屏:36
但是实际应用时是以B命令接收,然后转换为C命令,这个C命令再拆分为A命令,整体下来接收到的字节较多,数据如下:
- 添加图片资源
a)AddLayer+AddSource:410
b)MoveLayer:150
c)DeleteLayer:153
- 清屏:123
由以上两者的对比得出结论:命令的两次嵌套带来了将近100个字节的开销。显然,嵌套的层数越少,转换出字符串的字节数越小。另外,搜索资料可知,Protobuffer在包含repeated元素时,时间开销会较多,因为涉及到repeated元素个数到达一定值时的内存重新分配。所以,从时间和空间的角度来说,对Protobuffer的定义有两个建议,一是尽量少的嵌套,以减少空间开销(个人的理解,Protobuffer的定义应该扁平化);二是repeated元素不应过多,以减少时间开销。
参考资料:
http://blog.csdn.net/yang3wei/article/details/46360099
0 0
- 测试Protobuffer的定义格式对其时间和空间的影响
- 测试Protobuffer的定义格式对其时间和空间的影响
- 测试Protobuffer的定义格式对其时间和空间的影响
- 测试Protobuffer的定义格式对其时间和空间的影响
- 时间格式对cronjob的影响。
- tuxedo时间参数和系统消息队列参数对其影响的笔记
- Oracle 重建控制文件对只读表空间和临时表空间影响的测试
- Ra3中缺电对生产时间影响的测试
- linux测试noatime对文件访问时间的影响
- Activity#finish() 对其生命周期的影响
- 存储方式对空间使用的影响和性能分析
- C#中定义一个事件和对其的调用
- XenServer中VM的存储格式对空间以及性能的影响
- Unity 线性空间对ugui的影响
- 命中测试和SendMessage WM_NCLBUTTONDOWN对鼠标消息的影响
- 尾递归对时间与空间复杂度的影响(上)
- user agent stylesheet对格式的影响
- user agent stylesheet对格式的影响
- 我的物联网综合知识之整体架构
- Zookeeper(四)Acl权限控制
- 逆向-数据宽度与逻辑运算
- 软件工程资料
- sdutacm-数据结构实验之二叉树六:哈夫曼编码
- 测试Protobuffer的定义格式对其时间和空间的影响
- laravel数据迁移使用总结
- hdu 1862 EXCEL排序
- LruCache
- 我的物联网综合知识之创建数据库
- Android Sensor详解(5)搭建adsp firmware的环境
- OSI七层参考模型
- UVALive 4048 Fund Management(状压DP)
- 什么是词云呢?10 行 Python 代码的词云