Thrift版本之间的数据格式兼容性

时间:2011-01-06 23:31:10

标签: java serialization upgrade backwards-compatibility thrift

我正在尝试升级使用Thrift 0.2库进行通信的系统。由于这是相当旧的版本(最新的稳定版本是0.5),并且据称有显着的性能提升(0.4),我希望升级。但是,我找不到有关基础数据格式是否存在不兼容更改的信息。基于版本控制方案,人们希望没有;但由于这些仍然是1.0之前的版本,可能对稳定性的期望较低。

我希望了解数据格式本身是向后兼容的原因是它允许逐个升级组件。

无论如何:我希望有更多信息的人可以指出我正确的文档。

1 个答案:

答案 0 :(得分:2)

  

...我们已经切换到使用ByteBuffer而不是使用byte []作为二进制字段的基础数据类型。这意味着我们可以避免在反序列化期间进行不必要的字节数组分配和复制。这种方法比旧方法快2.5倍,而且甚至没有考虑到垃圾收集时间的减少。 您肯定必须进行一些代码更改才能获得升级,但您仍然应该觉得值得。

取自"Thrift 0.4.0 Released"文件。源代码中的相关更改:"Switch binary field implementation from byte[] to ByteBuffer"