我的程序使用csvcrate into读取 CSV 文件Vec<Vec<String>>,其中外部向量表示行,内部向量将行分成列。
use std::{time, thread::{sleep, park}};
use csv;
fn main() {
different_scope();
println!("Parked");
park();
}
fn different_scope() {
println!("Reading csv");
let _data = read_csv("data.csv");
println!("Sleeping");
sleep(time::Duration::from_secs(4));
println!("Going out of scope");
}
fn read_csv(path: &str) -> Vec<Vec<String>> {
let mut rdr = csv::Reader::from_path(path).unwrap();
return rdr
.records()
.map(|row| {
row
.unwrap()
.iter()
.map(|column| column.to_string())
.collect()
})
.collect();
}
Run Code Online (Sandbox Code Playgroud)
我正在查看 RAM 使用情况,htop这使用 2.5GB 内存来读取 250MB CSV 文件。
以下是内容 cat /proc/<my pid>/status
Name: (name)
Umask: 0002 …Run Code Online (Sandbox Code Playgroud)