14个版本

0.5.4 2023年7月27日
0.5.0 2022年5月24日
0.3.2 2019年6月14日
0.3.0 2019年3月20日
0.1.0 2016年1月21日

#4内存管理

Download history 96573/week @ 2024-04-17 92607/week @ 2024-04-24 86701/week @ 2024-05-01 85222/week @ 2024-05-08 95431/week @ 2024-05-15 93088/week @ 2024-05-22 94685/week @ 2024-05-29 101506/week @ 2024-06-05 100837/week @ 2024-06-12 95078/week @ 2024-06-19 100830/week @ 2024-06-26 88503/week @ 2024-07-03 103019/week @ 2024-07-10 102031/week @ 2024-07-17 110193/week @ 2024-07-24 82432/week @ 2024-07-31

419,578 每月下载量
用于 194 个Crate(137个直接使用)

MIT/Apache

2MB
51K SLoC

C 47K SLoC // 0.1% comments Visual Studio Project 1.5K SLoC Rust 785 SLoC // 0.1% comments M4 658 SLoC // 0.1% comments Shell 380 SLoC // 0.3% comments C++ 371 SLoC // 0.1% comments Python 261 SLoC // 0.3% comments Visual Studio Solution 125 SLoC XSL 9 SLoC

tikv-jemallocator

ci Latest Version docs

该项目是jemallocator的继任者。

出于历史原因,该项目还以jemallocator的形式发布。这两个Crate在名称之外完全相同。对于新项目,建议使用tikv-xxx版本。

链接到jemalloc并提供一个实现分配器API的Jemalloc单元类型,它可以设置为#[global_allocator]

概述

jemalloc支持生态系统包括以下Crate

  • tikv-jemalloc-sys:构建和链接到jemalloc,向它暴露原始C绑定。
  • tikv-jemallocator:提供实现GlobalAllocAlloc特征的Jemalloc类型。
  • tikv-jemalloc-ctl:在jemalloc的控制和内省API(mallctl*()函数系列和MALLCTL命名空间)之上提供高级包装器

文档

要使用tikv-jemallocator,请将其添加为依赖项

# Cargo.toml
[dependencies]

[target.'cfg(not(target_env = "msvc"))'.dependencies]
tikv-jemallocator = "0.5"

要将tikv_jemallocator::Jemalloc设置为全局分配器,请将以下内容添加到您的项目中

# main.rs
#[cfg(not(target_env = "msvc"))]
use tikv_jemallocator::Jemalloc;

#[cfg(not(target_env = "msvc"))]
#[global_allocator]
static GLOBAL: Jemalloc = Jemalloc;

就这样!一旦你定义了此 static,jemalloc 将会用于该程序中所有由 Rust 代码请求的分配。

平台支持

以下表格描述了支持的平台

  • build:库是否可以针对目标编译?
  • runtikv-jemallocatortikv-jemalloc-sys 测试在目标上是否通过?
  • jemalloctikv-jemalloc 的测试在目标上是否通过?

第一级目标在所有 Rust 频道(稳定、beta 和 nightly)上进行了测试。所有其他目标仅在使用 Rust nightly 时进行了测试。

Linux 目标 build run jemalloc
aarch64-unknown-linux-gnu
powerpc64le-unknown-linux-gnu
x86_64-unknown-linux-gnu(第一级)
MacOSX 目标 build run jemalloc
x86_64-apple-darwin(第一级)

功能

tikv-jemallocator crate 重新导出 tikv-jemalloc-sys 依赖的功能

许可证

本项目根据您的选择,许可为以下之一

任选其一。

贡献

除非您明确声明,否则您提交给 tikv-jemallocator 的任何贡献,根据 Apache-2.0 许可证定义,将作为上述双重许可,没有任何额外的条款或条件。

依赖关系