LINUX.ORG.RU

ION — убийца CBOR, protobuf и прочих форматов бинарной сериализации?

 , ,


0

1

Сейчас успешно использую protobuf, хватает, в принципе, но он не идеальный. В новости о Qt 5.12 LTS узнал, что туда завезли CBOR (вики). В процессе изучения этого формата наткнулся на ещё один — ION (не путать с Ion от Amazon).

Воодушевляющее сравнение с другими форматами: http://tutorials.jenkov.com/ion/ion-vs-other-formats.html

Неимоверные бенчмарки (в части которых упущено сравнение с protobuf по странным причинам): http://tutorials.jenkov.com/ion/ion-vs-other-formats.html

Ок, но так ли всё радужно?

RFC нет, библиотек для C/C++ не нашёл, и вообще выглядит как proof of concept или с реальными, но единичными внедрениями в продакшн.

Судя по бенчмаркам, оно только пока для Java сделано. https://github.com/jjenkov/iap-tools-java-benchmarks

Возможно, что не формат такой крутой в реализации, а в том, что бенчмарки были на Java.

Кто сталкивался с ION и кто что думает о нём?

Перемещено tailgunner из general

★★★

Последнее исправление: Pravorskyi (всего исправлений: 1)

ION — убийца

библиотек для C/C++ не нашёл, и вообще выглядит как proof of concept

Какой-то слабый, недоделанный убийца. Чем protobuf не устраивает?

hobbit ★★★★★
()

Тебе рюшечки или ехать? Protobuf для сообщений, gRPC для API, Apache Arrow для таблиц. Всё остальное не нужно.

snizovtsev ★★★★★
()

[x] пятница в субботу

Киллер-фича — это ссылка на базу текущего объекта, переданную раньше в том же сообщении?

В доках про protobuf подробно описано, почему для сериализатора не работает нормальное наследование.

vzzo ★★★
()
Ответ на: комментарий от anonymous

ASN.1 хватит всем

ASN.1 конечно же хватит всем, но он зараза сложный, и очень мало опенсорсного софта может с ним полноценно работать (я не говорю про костыльные парсеры для определенных видов сообщений, которые есть в библиотеках для TLS). По сути кроме этого ничего нет: http://lionet.info/asn1c/compiler.html

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.