Size: a a a

2020 August 06

s

std::slavik in supapro.cxx
прикол в том что к данным в таком формате упакованным мы получаем доступ сразу же к любому полю объекта, на любом почти языке, без аллокации памяти, без парсинга в рантайме
источник

s

std::slavik in supapro.cxx
и ничего не надо перепаковывать - все работают с одним и тем же блоком данных
источник

AF

Aidar Fattakhov in supapro.cxx
std::slavik
прикол в том что к данным в таком формате упакованным мы получаем доступ сразу же к любому полю объекта, на любом почти языке, без аллокации памяти, без парсинга в рантайме
Да но это убцовое взаимодействие в терминах си++
источник

AF

Aidar Fattakhov in supapro.cxx
А смысл протобуфов как раз в упаковке и сжатии
источник

s

std::slavik in supapro.cxx
Aidar Fattakhov
А смысл протобуфов как раз в упаковке и сжатии
смысл протобуфов в том чтобы индусы могли меньше наговнокодить
источник

s

std::slavik in supapro.cxx
ценой приемлемых во многих случаях издержек
источник

s

std::slavik in supapro.cxx
и дальше - grpc
источник

s

std::slavik in supapro.cxx
там ресурсы уже дело десятое
источник

s

std::slavik in supapro.cxx
а flatbuffers - ресурсы в приоритете(у меня например на микроконтроллерах используется и во фронтендах), я могу например с одним и тем же объектом в памяти работать как из плюсового кода на микроконтроллере, так и из JS кода, который исполняется интерпретатором, запущенным на этом же микроконтроллере, при этом ресурсов мало - нет возможности даже просто скопировать и передать этот объект в JS интерпретатор - слишком долго и слишком много памяти для жесткого реалтайма, при этом объекты формируются вообще на веб сервисе из конструктора в браузере
источник

s

std::slavik in supapro.cxx
ценой того что - да, риск выстрелить в ногу большой
источник

s

std::slavik in supapro.cxx
но меньше чем используя raw структуры и собственные обертки
источник

AF

Aidar Fattakhov in supapro.cxx
std::slavik
а flatbuffers - ресурсы в приоритете(у меня например на микроконтроллерах используется и во фронтендах), я могу например с одним и тем же объектом в памяти работать как из плюсового кода на микроконтроллере, так и из JS кода, который исполняется интерпретатором, запущенным на этом же микроконтроллере, при этом ресурсов мало - нет возможности даже просто скопировать и передать этот объект в JS интерпретатор - слишком долго и слишком много памяти для жесткого реалтайма, при этом объекты формируются вообще на веб сервисе из конструктора в браузере
Теперь понятно что ты так их форсишь, но это точно не универсальное решение, оно работает только до тех пор пока твоя производительность сильно меньше производительности сети
источник

AF

Aidar Fattakhov in supapro.cxx
Типа для передачи по сети ты так или иначе должен сжимать, может быть ты отдал это гзипалке nginxа какого -нибудь но до него нужно тоже доставить еще
источник

s

std::slavik in supapro.cxx
понятно что мне удовольствия не доставляет большого паровозики из стрелочек эти строить
источник

s

std::slavik in supapro.cxx
и я при возможности просто grpc подниму и все
источник

s

std::slavik in supapro.cxx
если речь про сервачок какой нить на C++/JS/Python и тд
источник

s

std::slavik in supapro.cxx
у которого гигабайты оперативки и десятки милисекунд задержки это приемлимо
источник

AF

Aidar Fattakhov in supapro.cxx
std::slavik
у которого гигабайты оперативки и десятки милисекунд задержки это приемлимо
Вот как раз миллисекунды зажержки сжатие и уменьшает
источник

AF

Aidar Fattakhov in supapro.cxx
Ценой загрузки цпу
источник

s

std::slavik in supapro.cxx
тут вопрос от конечных потребителей данных должен ставиться
источник