3 个不稳定版本
0.2.1 | 2024年2月26日 |
---|---|
0.2.0 | 2023年4月5日 |
0.1.0 | 2021年1月8日 |
在 内存管理 中排名第56
每月下载量5,120次
用于 11 个 Crates(10个直接使用)
11KB
84 代码行
Peak Alloc
Peak Alloc是一个简单且开销低的Rust分配器,允许您跟踪(并咨询)分配给进程的内存量以及在其生命周期中分配给进程的最大内存量。
注意1
当我说peak alloc开销低时,我的意思是它只维护一对原子usize。因此,开销很低...但是由于原子数操作,确实存在开销。
注意2
峰值分配器实际上只是系统分配器的一个包装器。大部分工作都委托给了系统分配器,而PeakAlloc只是维护原子计数器。
使用方法
在您的 Cargo.toml
中,您应该在依赖部分添加以下行。
[dependencies]
peak_alloc = "0.2.0"
然后在您的main代码中,您将像下面这样简单地使用它
use peak_alloc::PeakAlloc;
#[global_allocator]
static PEAK_ALLOC: PeakAlloc = PeakAlloc;
fn main() {
// Do your funky stuff...
let current_mem = PEAK_ALLOC.current_usage_as_mb();
println!("This program currently uses {} MB of RAM.", current_mem);
let peak_mem = PEAK_ALLOC.peak_usage_as_gb();
println!("The max amount that was used {}", peak_mem);
}