5个不稳定版本
0.3.0 | 2024年3月18日 |
---|---|
0.2.2 | 2024年3月18日 |
0.2.1 | 2024年3月18日 |
0.2.0 | 2024年3月18日 |
0.1.0 | 2023年4月5日 |
#163 in 内存管理
每月 113 次下载
在 2 个Crates中使用(通过 binggan)
8KB
120 行
peakmem_alloc
Rust全局分配器的监控中间件,用于查找函数消耗的峰值内存。
示例
use peakmem_alloc::*;
use std::alloc::System;
#[global_allocator]
static GLOBAL: &PeakMemAlloc<System> = &INSTRUMENTED_SYSTEM;
#[test]
fn example_using_region() {
GLOBAL.reset_peak_memory(); // Note that other threads may impact the peak memory computation.
let _x: Vec<u8> = Vec::with_capacity(1_024);
println!(
"Peak Memory used by function : {:#?}",
GLOBAL.get_peak_memory()
);
}
自定义分配器
您可以将现有分配器包装如下
use jemallocator::Jemalloc;
use peakmem_alloc::*;
#[global_allocator]
static GLOBAL: PeakMemAlloc<Jemalloc> = PeakMemAlloc::new(Jemalloc);
lib.rs
:
一个用于计算(作用域内)峰值内存消耗的监控分配器包装器。
示例
use peakmem_alloc::*;
use std::alloc::System;
#[global_allocator]
static GLOBAL: &PeakMemAlloc<System> = &INSTRUMENTED_SYSTEM;
fn main() {
GLOBAL.reset_peak_memory();
let _x: Vec<u8> = Vec::with_capacity(1_024);
println!(
"Peak Memory used by function : {:#?}",
GLOBAL.get_peak_memory()
);
}