经验法则:与原始序列化对象相关的boost归档文件的大小?

时间:2010-06-28 15:12:17

标签: serialization boost archive

由于我要掩盖的原因,我需要留出固定大小的空间,然后使用boost序列化来存储对象。归档格式的选择是任意的,可移植性不是问题。

该类相当复杂(成员包括基本类型,数组,指针和子类),并保证随着时间的推移而增长。

有没有人值得评估他们信任的猜测?空间很重要,但并不是很重要。我正在寻找相对简单的答案,如“2 *(sizeof X)for binary”或“4 * number of members + 3 * sizeof(X)if you you like text archives”。

由于

1 个答案:

答案 0 :(得分:2)

没有回应,所以这是实验所显示的。

从我们的应用程序来看,一个班级有大约190名成员,sizeof(A)= 12704.由于指针的缘故,实际总大小有点羞怯。

binary_oarchive的大小为13981,text_oarchive为21237.这是针对默认特征的,并且还注册了一个包含六种派生类型的存档。

所以,我将使用2 * sizeof(A)作为文本存档的上限,对于二进制文件可能使用1.5 *。