Continuation
Continuation

Reputation: 13040

C++: does caching JSON instead of objects reduce memory consumption?

I need to cache a large number of map in memory. Each map will be associated with a key for lookup. I'm planning to use POCO's cache framework for this.

If I serialized each map into say JSON, would that reduce the memory footprint of each cached item? If it does, what kind of saving can I expect - 10%, 50%?

Would you recommend caching plain objects or JSON?

Upvotes: 2

Views: 472

Answers (1)

Hot Licks
Hot Licks

Reputation: 47699

Generally, yes, caching as JSON would be more efficient, storage-wise, than C++ objects.

The only exception would be if you had an object with a bunch of, eg, int fields and you converted that to a JSON representation (either JSON "object" or JSON "array") as character values. The JSON character representation could not be nearly as compact as the binary fields, all scrunched together in a single object.

But if you're talking objects that contain lots of pointers to other objects (ie, the typical "object" representation of conceptual JSON) then the actual JSON will be probably between 2x and 8x more compact.

Upvotes: 2

Related Questions