Vladimir
еще есть gowire
Vladimir
из этого разряда
Alexey
ASN.1!
Vladimir
это тот что der там разный?
Alexey
ога
Vladimir
ну это уж слишком жестоко
Vladimir
вообще что флетбуферс, что вот этот асн
Vladimir
они ж вроде сохраняют тип в своем выхлопе
Vladimir
как мне кажется - это излишне
Alexey
эмм.. вроде бы нет. схему плоскобуферы не сохраняют точно.
Vladimir
(конечно если не работаешь в условиях жсов всяких)
Vladimir
Может не полную схему
Vladimir
знаю точно что там через jump таблицы всё или dst реализовано
Alexey
кажется, вообще не сохраняют
Alexey
https://google.github.io/flatbuffers/flatbuffers_benchmarks.html
Alexey
иначе вредя декодирование было бы не 0
Vladimir
а че там по бенчма капнпрото против флет буферся
Vladimir
вроде флетбуферс не очень был
Alexey
ну, это уже капропрото должны сделать, IMHO 😊
Vladimir
типа они вообще ничего не валидируют пока нет обращения
Vladimir
но если во время обращения что-то не сойдется то может паникнуть
Vladimir
по крайней мере капнпрото так
Vladimir
а в флетбуферс вроде вообще валидация костыльная
Vladimir
(это я к тому что время декодирования у них вообще считывания буфра видимо)
Vladimir
typed accessors
Vladimir
поидее это и означает
Vladimir
что у них тип в рантайме чекается
Vladimir
ну, это уже капропрото должны сделать, IMHO 😊
потому что капнпрото быстрее?
Vladimir
вроде как флетбуферс позже появился
Alexey
потому, что флетбуфферс давит авторитетом гугла и имеет более широкую поддержку языков. 😊
Vladimir
но при этом он не понятно себя позиционирует
Anonymous
> давит авторитетом гугла
Alexey
плоскобуфера вот любят в том же яндексе использовать.
Anonymous
в раст чате такое не работает
Vladimir
вроде как не сильно устойчив к злонамеренному вводу, но при этом загоняет на капнпрото что "не для всеъ кейсов"
Vladimir
плоскобуфера вот любят в том же яндексе использовать.
в том же яндексе те же люди, и используют они разное
Vladimir
тот же умпутун из радио-т хвалил мсж пак
Alexey
угу. и протобафы используют и json'ы
Vladimir
вообще зависит от кейса мне кажется
Alexey
да там у ручек API часто умеет и так и сяк.
Vladimir
если нужно из сторейджа брать данные, и основная идея, чтоб под big-endian всё поднялось
Alexey
как попросишь, так тебе и выдадут
Vladimir
а передача только в защищенной сети, то флетбуферс торт
Alexey
ну, вот да.
Vladimir
cap'n proto вообще - монстроузоная херня, встроили rpc в свою энкодинг либу
Alexey
да, нафига часто туда rpc прилепливают, я вообще не понимаю.
Vladimir
по факту для каких-то новых проектов где нужно быстро наебошить те же задачи, но чучуть безопаснее
Vladimir
просто у капнпрото видимо сделать "быстрый" (потому что бинарный) api для клиентов
Vladimir
и это довольно хороший пласт
Vladimir
но оба они херня на самом деле, когда требования становятся более жесткими
Vladimir
например cap'n proto в полной мере только под сишку реализован
Alexey
ага. а часто на тему универсального енкодинга заморачиваются именно тогда, когда проект начинает состоять из частей на разных языках
Vladimir
плюс у обоих область применения - динамические языки. (Опциональные поля, forward compatibility)
Alexey
чтобы проще было синхронизировать изменения в протоколе
Vladimir
Да, но по либам поддерживающим энкодинг кстати capnproto наверное самый топ
Alexey
может много языков?
Vladimir
ну да, по количеству языков
Vladimir
т.е. если минимальный функционал брать, энкодинга, без защиты, то у кап н прото там rust/java/js x2/ c++ и еще вроде много хлама
Alexey
это официально, или умельцами?
Vladimir
к чему я вообще, область flatbuffers не покрывает полностью области protobuf, и капнпрото её больше покрывает, так что можно сравнивать каждое из этих говн с каждым
Vladimir
это официально, или умельцами?
там ничего официального нет
Alexey
ибо если умельцами, то нет вообще никаких гарантий что там оно все будет работать.
Alexey
ну, основную реализацию то автор сам сделал. и есть шанс что она сама с собою совместима
Vladimir
есть правда авторы которые сделали java/rust и стали позже работниками единственного проекта спонсирующего развитие капнпрото
Alexey
О! Мы ж еще thrift забыли! 😊
Vladimir
ибо если умельцами, то нет вообще никаких гарантий что там оно все будет работать.
ну эт понятно, для этого в капнпрото вроде даже были автоматические тесты
Alexey
https://thrift.apache.org/lib/
Vladimir
О! Мы ж еще thrift забыли! 😊
я в этом не шарю, он еще более монстр чем капнпрото
Alexey
ну, он там на части разделен, так то.
Vladimir
да я не сильно люблю когда под соусом либы для энкодинга пихают разные рпц и тд
Vladimir
ну, он там на части разделен, так то.
Плюс еще сложно в их доке что-то понять, есть где-то ссылка на апи и репозиторий с генерированным говном ?
Alexey
https://thrift.apache.org/docs/Languages о! даже rust есть!
Vladimir
дада, я тоже зашел в тутор и прифигел
Vladimir
молодцы
Vladimir
но примера не нашел того что в выхлопе
Alexey
видимо выхлопывать надо самим 😊 и смотреть что там вылезло.
Vladimir
значит стремно показывать
Alexey
гм. а где-то в доке прямо показывают выхлоп?
Alexey
обычно вот идешь на сайт компилятора, там результат его работы тоже не показывают.