C ++: уменьшает ли использование памяти кэширование JSON вместо объектов? - PullRequest
2 голосов
/ 23 февраля 2012

Мне нужно кэшировать большое количество map в памяти.Каждый map будет связан с key для поиска.Я планирую использовать для этого структуру кэша POCO.

Если бы я сериализовал каждый map в, скажем, JSON, это уменьшило бы объем памяти каждого кэшированного элемента?Если это произойдет, какой вид экономии я могу ожидать - 10%, 50%?

Вы бы порекомендовали кэшировать простые объекты или JSON?

1 Ответ

2 голосов
/ 23 февраля 2012

Как правило, да, кэширование как JSON было бы более эффективным с точки зрения хранения, чем объекты C ++.

Единственное исключение будет, если у вас есть объект с кучей, например, полей int, и вы преобразовали его в представление JSON (либо «объект» JSON, либо «массив» JSON) в качестве символьных значений. Представление символов JSON не может быть столь же компактным, как двоичные поля, все сжато в одном объекте.

Но если вы говорите об объектах, которые содержат много указателей на другие объекты (то есть типичное представление "объекта" концептуального JSON), то фактический JSON, вероятно, будет в 2–8 раз более компактным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...