Господа, а существуют ли библиотеки для
data baking в C/С++? (уточнение, возможно, излишнее, т.к. я не знаю других языков, в которых data baking в принципе возможен) Поскольку без reflection'а тут никак не обойтись, видимо, это должно быть что-нибудь кодогенерирующее, в духе protobuf. Может быть, даже extension для protobuf'а.
Я точно знаю, что
aruslan
(
Read more... )
Comments 48
Reply
Reply
а так навскидку было бы круто примеров
Reply
Reply
Reply
Reply
Reply
Reply
В базах данных/прочих хранилищах - там уже всё забейкано. А сервис ходит в такое отдельно запущенное хранилище.
Reply
Короче геморой перевешивает вероятные плюшки.
В энтерпрайзе больше нужна быстрая сериализация с хорошими гарантиями не уронить всю систему. Собственно ее и используют для бейкинга если он требуется.
Reply
Бейкинг рулит, когда продукт один, и версия типов/схемы в нём на данный момент одна. Делается с учётом особенностей низлежащего железа. В замкнутых экосистемах СУБД и (особливо консольном) геймдеве. В остальных случаях компактные бинарные контейнеры сильно удобнее, и не сильно дороже.
Сделать более качественный аналог protobuf можно. Сделать универсальный бейкинг нельзя - низкоуровневые требования у каждого продукта свои. С другой стороны, даже замена XML-помойки на protobuf может значительно ускорить инициализацию и работу сервиса.
Reply
Reply
Правильная "неуниверсальность" у них в том, что протокол не следует системе типов какого-либо из клиентских языков, не ставит задачей воплощение всех её фишек. Правильной же универсальности (в плане поддержки sum types, единиц измерения, etc) пока недостаточно, но работа в этом направлении ведётся, в том числе мной.
Для бейкинга всё наоборот, подстройка под язык, платформу, особенности менеждмента памяти, особенности тайминга HDD/SSD, etc. Из общего здесь могут быть только библиотечки reflections/кодогенерации.
Reply
Reply
(The comment has been removed)
Reply
Leave a comment