s****a 发帖数: 238 | 1 我有用一组大小不一的向量(有上千个),每个向量都是一个blitz::Array
的数组,使用这个容器主要是为了计算方便,然后这堆向量都放在一个vector中便于访
问。现在希望能把这堆向量储存到一个二进制文件,需要是还要能够从那个文件里读出
。我查了一下发现好像没有现成的函数可以解决这个问题,boost里面有个
serialization似乎是用于解决这个问题的,我从来没用过boost,现在开始是不是太晚
了,或者动用boost是杀鸡用牛刀,还是自己造个轮子把容器的内容一个个写进去?
还有对这个组织结构我也不是很满意,觉得效率不高,可能还会搞出很多内存碎片,因
为是科学计算以后问题规模会更大,有没有更好的组织方法? |
a****l 发帖数: 8211 | 2 i think almost all the containers can be serialized. it's a core function.
【在 s****a 的大作中提到】 : 我有用一组大小不一的向量(有上千个),每个向量都是一个blitz::Array : 的数组,使用这个容器主要是为了计算方便,然后这堆向量都放在一个vector中便于访 : 问。现在希望能把这堆向量储存到一个二进制文件,需要是还要能够从那个文件里读出 : 。我查了一下发现好像没有现成的函数可以解决这个问题,boost里面有个 : serialization似乎是用于解决这个问题的,我从来没用过boost,现在开始是不是太晚 : 了,或者动用boost是杀鸡用牛刀,还是自己造个轮子把容器的内容一个个写进去? : 还有对这个组织结构我也不是很满意,觉得效率不高,可能还会搞出很多内存碎片,因 : 为是科学计算以后问题规模会更大,有没有更好的组织方法?
|
r****t 发帖数: 10904 | 3 blitz array serialization is a problem. You can write something to have it
work with boost serialization, but I never went down that way.
【在 s****a 的大作中提到】 : 我有用一组大小不一的向量(有上千个),每个向量都是一个blitz::Array : 的数组,使用这个容器主要是为了计算方便,然后这堆向量都放在一个vector中便于访 : 问。现在希望能把这堆向量储存到一个二进制文件,需要是还要能够从那个文件里读出 : 。我查了一下发现好像没有现成的函数可以解决这个问题,boost里面有个 : serialization似乎是用于解决这个问题的,我从来没用过boost,现在开始是不是太晚 : 了,或者动用boost是杀鸡用牛刀,还是自己造个轮子把容器的内容一个个写进去? : 还有对这个组织结构我也不是很满意,觉得效率不高,可能还会搞出很多内存碎片,因 : 为是科学计算以后问题规模会更大,有没有更好的组织方法?
|
k*******d 发帖数: 1340 | 4 float存到binary file里面? 这个要小心portability啊,encode的方式。 boost::
serialization对存成text格式的支持还不错,不确定对binary file有没有好的支持,
我印象中doc里面写是non-portable的。 |