Я пытался оптимизировать размер своего плоского буфера, создав сжатую схему для наиболее повторяющейся структуры, которая у меня есть (используя только 20 бит LSB целых чисел и нарезая их на 64-битные слова), результат не тот, что я ожидал: размер файла немного вырос вместо резкого сжатия, которого я ожидал, почему моя структура 2 ulong + 1 uint (2-й случай) ниже занимает больше места, чем явная структура (1-й случай) в сгенерированном файле? В моем примере файл размером 2,4 МБ с явной структурой стал размером 2,6 МБ с использованием сжатого файла....
Explicit Struct, прямой доступ к полям:
table VObject {
m_field1:uint;
m_field2:uint;
m_field3:ushort;
m_field4:ushort;
m_field5:uint;
m_field6:uint;
m_field7:uint;
m_field8:uint;
}
Сжатая структура, требуется кодирование и декодирование с использованием 20- и 16-битных масок:
table VObject {
m_field1:ulong;
m_field2:ulong;
m_field3:uint;
}