我有一个 struct ,它包含一个2到u32
个值的向量(总大小约为8GB).我按照bincode
示例将其写入磁盘:
#[macro_use]
extern crate serde_derive;
extern crate bincode;
use std::fs::File;
use bincode::serialize_into;
#[derive(Serialize, Deserialize, PartialEq, Debug)]
pub struct MyStruct {
counter: Vec<u32>,
offset: usize,
}
impl MyStruct {
// omitted for conciseness
}
fn main() {
let m = MyStruct::new();
// fill entries in the counter vector
let mut f = File::create("/tmp/foo.bar").unwrap();
serialize_into(&mut f, &m).unwrap();
}
为了避免两次分配内存,我使用serialize_into
直接写入文件.然而,写作过程真的很慢(大约半小时).有办法加速吗?