锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 默认分类
  3. 测试了一下编解码的执行效果

测试了一下编解码的执行效果

0
  • 默认分类
  • 发布于 2024-09-25
  • 0 次阅读
黄健
黄健

背景

在《程序媛的人生观》这篇文章中,在博客园有热心朋友反馈:

protosbuff支持的类型少~而且不支持嵌套~性能更没有json高,如不是外网使用节约流量,没有用的必要~

我觉得评论说的很好。但是以淘金式思路来看这个问题,需要提出自己的问题,进行批判性吸收。

编码效率

   写了一段代码测试使用protostuff和json两种序列化编码的执行速度。结果每次protostuff的速度都比json快。下面是其中3次的结果:

(结果1)

(结果2)

(结果3)

结论:protostuff编码速度快于json。

这个数据让我非常的自责,因为可以看到编码的速度在100ms上下,是非常耗时的操作。但是我在编写我们项目代码的时候没有加专门的监控统计。

为了验证是否和执行顺序有关,调换一下执行顺序。实际上如果在同一个方法里先后运行两次序列化,会影响执行结果。但是因为用了两个独立的junit test方法,所以影响可忽略不计。来看看效果。

这是修改了顺序的代码。下面是其中3次的结果:

(结果1)

(结果2)

(结果3)

可以看到,protostuff编码速度仍然快于json。


解码效率

改造一下代码,测试一下解码效率。

(结果1)

(结果2)

(结果3)

结论:protostuff解码速度远远快于json。


编码后的大小

结果:

结论:protostuff编码后的数据小于json。

换一个复杂对象验证效果:

结果:

又换了一个更复杂的,结果:

虽然protostuff编码后的数据小于json。但是相差不是很大。这是因为刚才所有的测试(包括效率和大小)都是基于我将protostuff编解码和base64绑定处理了。

这是编码。

这是解码。如果不用base64,最后一条的结果是

protostuff的优势还是很明显的。

关于支持的类型少和不支持嵌套。看上面我用到的对象Pod,是

io.fabric8.kubernetes.api.model.Pod,有k8s背景的朋友应该知道这个对象有多复杂。测试里面的ResourceMessage对象其实是个泛型对象,里面嵌套了Pod。所以也不存在不支持嵌套这一说。


原文链接:https://mp.weixin.qq.com/s/Ob_caogahB-MxCsYJOWaIw

标签: #知识库 257
相关文章
最全的办公楼智能化解决方案

最全的办公楼智能化解决方案 2024-10-16 08:40

办公楼综合体智能化如何建设?有哪些系统?近几年,办公楼智能化的项目越来越多,不少项目经理都参与其它,同事办公楼综合体也是弱电系统涉及的最多的项目之一,本期我们一起来看下,最全的办公楼项目智能化设计方案。

规范标准查询、下载网站 2024-10-12 16:41

我们在工作中经常需要用到各种各样的规范标准,这里给大家介绍一些免费查询和下载规范的网站,个人亲测可用。 标准查找查新网站 工标网: http://www.csres.com/ 中国国家标准化管理委员会:http://openstd.samr.gov.cn/bzgk/gb/index 全国标准信息公共

【计算机网络】网络层协议解析 2024-10-08 11:24

网络层的两种服务 IPv4 * 分类编址 划分子网 无分类地址 IPv4地址应用 IP数据报的发送和转发过程 * 主机发送IP数据报 路由器转发IP数据报 IPv4数据报首部格式 ICMP网际控制报文协议 虚拟专用网VPN与

FFmpeg教程(超级详细版) 2024-10-08 11:24

一、参考资料 通过ffmpeg把图片转换成视频 FFmpeg命令(一)、使用filter_complex命令拼接视频 FFmpeg 视频处理入门教程给新手的 20 多个 FFmpeg 命令示例 FFmpeg命令行转码

计算机网络:物理层 —— 数据的传输方式 2024-10-08 11:24

文章目录 * 传输方式 * 串行传输 * 串行传输方式 特点 应用 并行传输 * 特点 应用 网卡的串/并转换 同步传输 * 同步时钟频率的误差问题 特点 应用<

授权码机制 V2.1 2024-10-07 10:26

大家好,我是机灵鹤。 根据读者朋友们反馈的问题和建议,对 授权码 V2.0 版本做了一些优化。 优化内容主要解决了以下几个问题: 优化了授权机制中的时间校验逻辑,避免用户通过回调本地时间来绕过授权机制的问题。 封装和简化了授权接口,开发者可以更方便地接入到自己的程序中。

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.