关于msgpack序列化后的消息包是否再压缩

仔细测试了一下msgpack与zlib的压缩,可以给还在用msgpack又想是否对某些包进行再度压缩的参考
msgpack本身会大概压缩4分之1,
248个字节时,序列化后大小与用不用zlib压缩都是一样的 大于248字节后用zlib再压就会更小,当用msgpack序列之后为1024个字节用zlib再压缩后则为730个节,缩减了290个字节,但是用zlib压缩时的会比没压缩要多消耗25到30ms

因此,我觉得大概可以设置为如果超过1024个字节的包可以用zlib再度进行压缩一下,低于此值msgpack的情况下不需要再压包,但是binaryformmater你还是再压的好,它实在是太大了。

时间: 2024-10-29 20:01:14

关于msgpack序列化后的消息包是否再压缩的相关文章

ROS学习之消息包

一个包是ROS中用于存储ROS 消息数据的文件格式.包 的扩展名为.bag - 在ROS中具有重要作用,并且已经编写了各种各样的工具来允许您存储,处理,分析和可视化它们. 在线计算图中使用 包通常由诸如rosbag的工具创建,该工具订阅一个或多个ROS 主题,并且将序列化的消息数存储在接收到的文件中.这些包文件也可以在ROS中回放到与他们记录的相同的主题,甚至重新映射到新的主题. 使用ROS计算图中的包文件与ROS节点发送相同的数据通常没有区别,尽管您可能遇到存储在消息数据内的时间戳数据的问题.

Android中实现自定义XMPP消息包收发

在Android平台实现XMPP即时通讯主要是使用asmack这个包,asmack是XMPP协议的实现.但是asmack只能帮助我们实现一些基本消息包的收发,如果需要实现特定的自定义消息包收发需要我们自己处理. 一.asmack消息的发送和接收 发送Message消息: 发送一个message结的消息,可以使用sendMessage()发送消息,这个方法有两个重载方法,一种类型的参数是String类型,另一种则是传入Message对象.String类型的方法传入的字符串即为要发送的消息:传入me

Mavlink消息包解析

Byte Index 字节索引 Content 内容 Value 值 Explanation 说明 0 包起始标志 v1.0: 0xFE (v0.9: 0x55) 指示新消息帧的开始.在v1.0版本中以"FE"作为起始标志.这个标志位在mavlink消息帧接收端进行消息解码时有用处. 1 有效载荷长度 0 - 255 表示以下的有效载荷的长度.在mavlink消息帧接收端可以用它和实际收到的有效载荷的长度比较,以验证有效载荷的长度是否正确. 2 包序列号 0 - 255 每个组件计数了

webservice拦截器 查看消息包(soap)

服务端: 1.获取EndpointImpl对象 2.调用EndpointImpl对象中的方法获取In拦截器 3.调用EndpointImpl对象中的方法获取out拦截器 4.添加自己的In拦截器与Out拦截器 LogginInInterceptor:查看收到的消息包 LoggOutInterceptor:查看发出去的消息包 客户端: 需要导入cxf的7个jar包: 1.获取client对象 Client client=ClientProxy.getClient("ws服务组件代理对象"

用js解析经json序列化后的C#的DateTime类型数据

用js解析经json序列化后的C#的DateTime类型数据 (2012-09-21 19:36:03) 转载▼ 标签: 杂谈 分类: javascript // val为经json直接序列化后的C#的DateTime类型的数据function formatTime(val) {    var re = /-?\d+/;    var m = re.exec(val);    var d = new Date(parseInt(m[0]));// 按[2012-02-13 09:09:09]的格

Python下Json和Msgpack序列化比较

Python下Json和Msgpack序列化比较  最近用Python时,遇到了序列化对象的问题,传统的json和新型序列化工具包msgpack都有涉及,于是做一个简单的总结: 通俗的讲:序列化:将对象信息转化为可以存储或传输的形式:反序列化:把这个存储的内容还原成对象. json就不用多做解释了,是一种轻量级的数据交换格式,广泛应用于web开发中.当然也是将对象序列化成符合json规范的格式.网上有一堆堆资料. 官网:http://www.json.org msgpack就有意思了,先看下官方

【iOS开发每日小笔记(四)】iOS 7中如何除去UIAlertView 规避delegate对象销毁后接收消息的crash

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.其实,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,太碎片,则可以有两个选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论

Android Studio 生成混淆后的jar包

昨天有个朋友问我怎么弄出个混淆后的jar包,因为不希望里面的关键代码轻易的泄露出去,我找了找一些文章,也算是完成了最终效果,这里也小记一下,免得将来需要用到了却忘了. 开发工具:Android Studio; 1.首先在工程中新建一个 Module ,这个 Module 就专门来放置我们需要进行混淆的代码,如下图: 创建玩了之后就将我们的代码拷贝到 src . 2.接下来是编写此 Module 的 build.gradle 文件,新增一个 task,如下图所示: 具体代码如下: task mak

解密陌生人(4)--客户端和服务器间消息包构造

提示: 因为工程稍微有点大对我个人来说,所以可能在某些方面讲的不清楚或逻辑性不够强,如果有问题请及时@我. 因为要发送自己定义的消息包,所以需要设计客户端与服务器之间传递的消息的具体构造. package com.imomo_msg; /** * symbol = '+' : 纯本文件 * symbol = '-' : 非纯本文件 * @author Administrator */ public class iMoMoMsg { /* symbol = '+' : 纯本文件 symbol =