Совместимость формата данных между версиями Thrift - PullRequest
1 голос
/ 07 января 2011

Я пытаюсь обновить систему, которая использует библиотеки Thrift 0.2 для связи. Так как это довольно старая версия (последняя стабильная версия - 0.5), и было заявлено о значительном улучшении производительности (в версии 0.4), я надеялся обновить. Однако я не смог найти информацию о том, произошли ли несовместимые изменения в базовом формате данных. Основываясь на схеме управления версиями, можно надеяться, что не было; но так как это все еще версии до 1.0, возможно, стабильность меньше.

Причина, по которой я надеюсь выяснить, что сам формат данных был обратно совместим, заключается в том, что он позволяет выполнять обновления компонентов по одному.

В любом случае: я надеялся, что кто-то с большей информацией сможет указать мне правильную документацию.

1 Ответ

2 голосов
/ 15 января 2011

... вместо использования byte [] в качестве базового типа данных для двоичных полей, мы перешли на использование ByteBuffer.Это означает, что мы можем избежать ненужного выделения и копирования байтового массива во время десериализации.Этот подход в 2,5 раза быстрее старого, и это даже не учитывает сокращение времени сбора мусора. Вам определенно придется внести некоторые изменения в код, чтобы получить обновление , но вы все равно должны найти его стоящим.

Взято из "Thrift 0.4.0 Released" документ.Связанные изменения в исходном коде: «Переключение реализации двоичного поля с byte [] на ByteBuffer» .

...