Python下一些序列化库的特点

Cap’n Proto  需要定义数据格式文件,无4G限制,支持引用,零复制,支持RPC

CBOR  不需要定义格式文件,无4G限制,支持引用,零复制。但是实现的库效率很差,O(n^2)

eXternal Data Representation (XDR)  支持RPC。Py的官方库内置了

Apache Avro  需要定义数据格式文件,无4G限制,支持引用,支持RPC。官方没有支持JS,第三方支持有

Apache Arrow  有4G限制,不支持引用,零复制。官方即将支持JS

msgpack  有4G限制,不支持引用,零复制。支持JS

Binn  有4G限制,不支持引用,零复制。支持JS

FlatBuffers  需要定义数据格式文件,空间有4G限制,只在buffer内支持引用,零复制

Colfer  需要定义数据格式文件,不支持枚举类型,零复制

Fast Binary Encoding  需要定义数据格式文件,有4G限制,不支持引用,零复制

feather  基于Apache Arrow,有4G限制,不支持引用,零复制。项目最后版本是2011年,太旧了

Transit  基于msgpack和JSON,有4G限制,不支持引用,零复制

Efficient XML Interchange (EXI) 和 Fast Infoset 都需要定义数据格式文件。这两种国际标准化的XML二进制方案都没有太流行的Py库

VelocyPack 是 图数据库ArangoDB 支持的序列化库。不需要定义格式文件,无4G限制,弱支持引用,零复制。可惜只是C++库,没有官方支持Py

    原文作者:FSS_Sosei
    原文地址: https://www.jianshu.com/p/2de17fcd0179
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞