В моем приложении мне нужно хранить и передавать данные, которые содержат много повторяющихся строковых значений (например, имена объектов в XML-документе). У меня есть два предложенных решения:
- A) создать таблицу строк для хранения вдоль документа, а затем использовать ссылки на индексы (используя многобайтовое кодирование) в теле документа, или
- B) просто сожмите документ, используя gzip или аналогичный алгоритм сжатия.
Какой из них, вероятно, будет работать лучше с точки зрения скорости и размера данных? (Очевидно, что это зависит от качества реализаций, но предположим, что опция A динамически создает массив строк и разумным образом кодирует тело документа).
Кроме того, если вариант B, вы рекомендуете более потенциально подходящий метод сжатия, кроме gzip?