tcmalloc-better

Crates.iotcmalloc-better
lib.rstcmalloc-better
version0.1.19
created_at2025-05-25 00:30:19.503043+00
updated_at2025-06-16 18:01:45.514056+00
descriptionA Rust wrapper over Google's TCMalloc memory allocator
homepage
repositoryhttps://github.com/maratik123/tcmalloc-better
max_upload_size
id1687879
size31,336
(maratik123)

documentation

README

TCMalloc better

A Rust wrapper over Google's TCMalloc memory allocator

Latest Version Documentation

A drop-in global allocator wrapper around the TCMalloc allocator. TCMalloc is a general-purpose, performance-oriented allocator built by Google.

Comparison with other tcmalloc wrappers

Current TCMalloc wrappers rely on gperftools, which has been in a detached state from the main development branch for over 10 years and lacks modern features such as per-CPU caching.

  • tcmalloc - Cons:
    • Outdated wrapper, which does not updates for years
    • Depends on gperftools-2.7
  • tcmalloc2 - Cons:
    • Wrapper which can not build in offline mode
    • Depends on gperftools-2.16

Caveats

This library is intended for use on Linux (x86_64, aarch64). For applications requiring support on a broader range of platforms, consider using malloc-best-effort, which automatically selects the best allocator based on the target platform.

Usage

use tcmalloc_better::TCMalloc;

#[global_allocator]
static GLOBAL: TCMalloc = TCMalloc;

fn main() {
    TCMalloc::process_background_actions_thread();

    // Rest of main
}

Requirements

A C++ compiler is required for building TCMalloc with cargo.

See also

  • malloc-best-effort - library, which automatically selects the best suited allocator based on the target platform
Commit count: 105

cargo fmt