zoukankan      html  css  js  c++  java
  • python使用msgpack(umsgpack)

    前言

    如果有业务需要将一个数据塞进队列由另一端接收,我们就需要考虑到数据的大小,因为这跟队列的效率和稳定性正相关,如果你希望能对这部分数据进行一定的压缩,并且提高解压缩的效率时,希望你能想到 msgpack

    正文

    性能对比

    效率

    这里先放出测试的数据
    我们将网页源代码与其他数据组成dict,使用JSON和msgpack进行转换,每次转换都为dict转换目标格式再转换回来
    循环1000次打印耗费时间
    代码如下

    结果如下

    大小

    我们数据不变,修改测试代码为下图,意为打印转换后的长度和转换后的数据

    结果为

    使用

    是不是对这种效果满意,那么我们开始使用

    安装

    pip install umsgpack

    转换

    import umsgpack
    umsgpack可方便地将大部分数据格式转换,需要注意的是datetime类型等Python独有的无法正常转换(跟json限制差不多)
    packd = umsgpack.packb(t)
    umsgpack.packb可将数据转换为bytes类型的数据
    res = umsgpack.unpackb(packd)
    umsgpack.unpackb将转换后的bytes数据转换为Python使用的数据格式

  • 相关阅读:
    题解[51nod1555] 布丁怪
    题解 [51nod1753] 相似子串
    题解[NOIP2017] 列队
    题解 [NOIP2015]运输计划
    题解 [APIO2014]连珠线
    题解 [ZJOI2010]基站选址
    [学习笔记] kmp
    RPC&ORM
    Spring
    常用工具
  • 原文地址:https://www.cnblogs.com/chnmig/p/12012383.html
Copyright © 2011-2022 走看看