#memory-allocator #limit #tracking #track #another #wraps

cap

一种可以跟踪和限制内存使用的分配器。此crate提供了一个泛型分配器,它包装了另一个分配器,跟踪内存使用情况,并允许设置限制。

3个版本

0.1.2 2023年3月26日
0.1.1 2022年8月15日
0.1.0 2019年10月21日

#119 in 内存管理

Download history • Rust 包仓库 2177/week @ 2024-04-23 • Rust 包仓库 2062/week @ 2024-04-30 • Rust 包仓库 2303/week @ 2024-05-07 • Rust 包仓库 2562/week @ 2024-05-14 • Rust 包仓库 1955/week @ 2024-05-21 • Rust 包仓库 2209/week @ 2024-05-28 • Rust 包仓库 1989/week @ 2024-06-04 • Rust 包仓库 1800/week @ 2024-06-11 • Rust 包仓库 2256/week @ 2024-06-18 • Rust 包仓库 2500/week @ 2024-06-25 • Rust 包仓库 2480/week @ 2024-07-02 • Rust 包仓库 2837/week @ 2024-07-09 • Rust 包仓库 2416/week @ 2024-07-16 • Rust 包仓库 2744/week @ 2024-07-23 • Rust 包仓库 2830/week @ 2024-07-30 • Rust 包仓库 2703/week @ 2024-08-06 • Rust 包仓库

11,136 每月下载次数
6 crates 中使用

MIT/Apache

17KB
413 代码行

cap

Crates.io MIT / Apache 2.0 licensed Build Status

文档

一种可以跟踪和限制内存使用的分配器。

此crate提供了一个泛型分配器,它包装了另一个分配器,跟踪内存使用情况,并允许设置限制。

示例

它可以通过声明一个静态变量并使用 #[global_allocator] 属性来使用。

use std::alloc;
use cap::Cap;

#[global_allocator]
static ALLOCATOR: Cap<alloc::System> = Cap::new(alloc::System, usize::max_value());

fn main() {
    // Set the limit to 30MiB.
    ALLOCATOR.set_limit(30 * 1024 * 1024).unwrap();
    // ...
    println!("Currently allocated: {}B", ALLOCATOR.allocated());
}

许可

许可方式为以下之一:

任选其一。

除非你明确说明,否则根据Apache-2.0许可证定义的,你有意提交的任何贡献,都应按照上述方式双重许可,而无需任何附加条款或条件。

无运行时依赖

特性