Serialization 经验法则:boost归档相对于原始序列化对象的大小?

Serialization 经验法则:boost归档相对于原始序列化对象的大小?,serialization,boost,archive,Serialization,Boost,Archive,出于我将要掩饰的原因,我需要留出固定大小的空间,然后使用boost序列化在那里存储对象。归档格式的选择是任意的,可移植性不是一个问题 该类相当复杂(成员包括基本类型、数组、指针和子类),并保证随着时间的推移而增长 有人有值得信任的评估吗?空间是重要的,但不是额外的。我在寻找相对简单的答案,比如“2*(sizeof X)表示二进制文件”或者“4*成员数+3*sizeof(X)(如果您喜欢文本归档文件)” 谢谢没有回应,下面是实验结果 根据我们的应用程序,一个类有约190个成员,sizeof(A)=

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

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

有人有值得信任的评估吗?空间是重要的,但不是额外的。我在寻找相对简单的答案,比如“2*(sizeof X)表示二进制文件”或者“4*成员数+3*sizeof(X)(如果您喜欢文本归档文件)”


谢谢

没有回应,下面是实验结果

根据我们的应用程序,一个类有约190个成员,sizeof(A)=12704。由于指针的原因,这比实际的总大小有点小

二进制oarchive的大小为13981,文本oarchive的大小为21237。这是针对默认特性的,并且还注册了一个包含六个派生类型的存档

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