C ++:缓存JSON而不是对象减少内存消耗?

时间:2012-02-23 01:22:33

标签: c++ json caching memory serialization

我需要在内存中缓存大量map。每个map都会与key相关联以进行查找。我打算使用POCO的缓存框架。

如果我将每个map序列化为JSON,那会减少每个缓存项目的内存占用量吗?如果确实如此,我可以期待什么样的节约 - 10%,50%?

您是否建议缓存普通对象或JSON

1 个答案:

答案 0 :(得分:2)

通常,是的,作为JSON的缓存在存储方面比C ++对象更有效。

唯一的例外是如果你有一个带有一堆的对象,例如int字段,你将它转换为JSON表示(JSON" object"或JSON" array&#34 ;)作为字符值。 JSON字符表示法不能像二进制字段那样紧凑,所有字符串都在一个对象中拼凑在一起。

但如果您正在谈论包含大量指向其他对象的对象(即典型的"对象"概念JSON的表示),那么实际的JSON可能会在2倍到8倍之间紧凑。