mirror of
https://github.com/google/tcmalloc.git
synced 2026-10-28 16:44:45 +08:00
test_1007690106
Update docs/stats.md to match current TCMalloc text stats and pbtxt mallocz telemetry. Key updates: - Added sharded transfer cache metrics to the summary table, per size-class breakdowns, and cumulative shard statistics. - Documented metadata arena residency and per-type allocations, pagemap root sizing, and per-CPU slab allocation and resident metrics. - Added sampled profile summaries, kernel page table entry footprint (VmPTE), and same-span return coalescing histograms. - Updated per-CPU cache tables with active and populated flags, dynamic size-class capacity limits, underflow and overflow timing, and slab shift resizing telemetry. - Replaced deleted legacy PageHeap sections with modern multi-partition HugePageAwareAllocator telemetry, including span size tables, filler tracker categories, collapse operations, skip-subrelease evaluations, HugeRegion slabs, HugeCache epochs, and treap address maps. - Documented GWP-ASan slot metrics, runtime limits, heap release triggers, and system allocator reservations. Co-authored-by: Chris Kennelly <ckennelly@google.com> PiperOrigin-RevId: 1007690106
TCMalloc
This repository contains the TCMalloc C++ code.
TCMalloc is Google's customized implementation of C's malloc() and C++'s
operator new used for memory allocation within our C and C++ code. TCMalloc is
a fast, multi-threaded malloc implementation.
Building TCMalloc
Bazel is the official build system for TCMalloc. Experimental support for CMake is available as well.
The TCMalloc Platforms Guide contains information on platform support for TCMalloc.
Documentation
All users of TCMalloc should consult the following documentation resources:
- The TCMalloc Quickstart covers downloading, installing, building, and testing TCMalloc, including incorporating within your codebase.
- The TCMalloc Overview covers the basic architecture of TCMalloc, and how that may affect configuration choices.
- The TCMalloc Reference covers the C and C++ TCMalloc API endpoints.
More advanced usages of TCMalloc may find the following documentation useful:
- The TCMalloc Tuning Guide covers the configuration choices in more depth, and also illustrates other ways to customize TCMalloc. This also covers important operating system-level properties for improving TCMalloc performance.
- The TCMalloc Design Doc covers how TCMalloc works underneath the hood, and why certain design choices were made. Most developers will not need this level of implementation detail.
- The TCMalloc Compatibility Guide which documents our expectations for how our APIs are used.
License
The TCMalloc library is licensed under the terms of the Apache license. See LICENSE for more information.
Disclaimer: This is not an officially supported Google product.
Languages
C++
92.8%
Starlark
3.6%
CMake
2.8%
Assembly
0.6%
C
0.2%