Apache Thrift - 矩阵(浮点数组)数据结构的压缩

本文关键字:数组 数据结构 压缩 Thrift 矩阵 Apache | 更新日期: 2023-09-27 17:56:57

我正在尝试使用Apache Thrift将大量数字(矩阵数组)数据从Linux服务器发送到Windows客户端(C#)。基本数据结构是一个 2D 浮点数组,它可能非常稀疏。总的来说,数据集很大 - 比如千兆字节的数量级。

Thrift(使用 TBinaryProtocol 或 TCompactProtocol)是否在发送数据之前压缩数据?因为我正在考虑尝试实时可视化数据的"切片",所以速度很重要。我想知道在发送之前是否有压缩这些数据?

谢谢!

Apache Thrift - 矩阵(浮点数组)数据结构的压缩

有一个 TZlibTransport,不幸的是它仅适用于少数语言绑定,例如 C++。二进制和紧凑协议不压缩数据。

因此,要么尝试为 C# 编写(贡献?)这样的传输,要么只是压缩前后的数据。

对于大型二进制数据,建议使用 binary 而不是 list<byte>(如果尚未执行此操作)。但是,如果矩阵是稀疏的,则仅通过线路发送非空单元格可能会好得多。这取决于您的情况。