[Из песочницы] Данные переменной длинны — DataSizeVariable (DSV)
Всем привет! Давно хотел написать статью. Я сам мало люблю длинные тексты с небольшим количеством полезной информации, поэтому постараюсь сделать этот максимально насыщенным. Обобщенная тема — эффективная упаковка данных, сериализация и десериализация объектов. Основная цель — поделиться своими размышлениями по этому поводу и обсудить структуру данных DSV.Проблема: Известные мне на текущий момент (2013–09–19 18:09:56) механизмы бинарной сериализации обладают недостаточной гибкостью или избыточность занимаемого пространства. Например: QString s1(»123»); → 4 байта размера данных = 0×00000003, 3 байта полезных данных = »123», эффективность = 3/7; U32 val1(123); → 4 байта данных (0×0000007B), 1 байт из которых является значимым = 123 (0×7B), эффективность = ¼.Читать дальше →