awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/tcmalloc

0
View on GitHub↗
5,255 星标·553 分支·C++·Apache-2.0·6 次浏览

Tcmalloc

Tcmalloc 是一个高性能 C++ 内存分配器和运行时库,专为管理大规模服务的堆内存而设计。它作为一个线程缓存内存分配器,减少了多线程应用中的锁竞争,从而在并发工作负载下保持稳定性和性能。

该项目专注于高并发内存分配和多线程应用扩展。它采用提供线程本地缓存的策略,以确保快速的内存访问,并提高并行程序在底层系统编程环境中的吞吐量。

该库通过页级分配、大小类分箱(size-classed binning)和基于跨度(span-based)的元数据来管理内存,以最大限度地减少碎片。它利用中央空闲列表和无锁快速路径来处理跨多个执行线程的内存请求。

Features

  • Allocator Local Caches - Provides per-thread caches for small memory allocations to eliminate lock contention between concurrent threads.
  • 内存分配器 - Provides a high-performance memory allocator designed for concurrent workloads in low-level C++ environments.
  • Tiered Memory Caches - Employs a tiered caching strategy with thread-local, central, and global page heaps to reduce allocation overhead.
  • High-Concurrency Memory Scaling - Optimizes memory paths to prevent bottlenecks and reduce lock contention in multi-threaded, high-scale applications.
  • Size-Class Allocators - Groups memory allocations into predefined size classes to reduce internal fragmentation and accelerate retrieval.
  • Lock-Free Atomic Containers - Utilizes atomic operations on thread-specific data to create lock-free fast paths for allocation and deallocation.
  • C++ Memory Management - Optimizes memory request and release cycles in C++ to prevent fragmentation and increase execution speed.
  • Physical Page Allocators - Manages memory in fixed-size page units to minimize fragmentation and simplify large block tracking.
  • Free-List Allocators - Implements a central free list to reuse released memory spans when thread-local caches are exhausted.
  • Metadata Spans - Uses span-based metadata to track the status and ownership of contiguous memory pages across the heap.
  • High-Performance Systems Programming - Implements resource-efficient memory handling for high-performance software requiring manual memory management.
  • C++ Runtimes - Serves as a low-level runtime component managing heap allocation and fragmentation for large-scale services.
  • Application Scaling Strategies - Improves parallel program throughput by utilizing thread-local caches for faster memory access.
  • Memory Management - Fast multi-threaded malloc implementation.
  • Memory Allocation - Fast, multi-threaded malloc implementation.
  • Memory Management Libraries - Thread-caching malloc for high-concurrency applications.

Star 历史

google/tcmalloc 的 Star 历史图表google/tcmalloc 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Tcmalloc 的开源替代方案

相似的开源项目,按与 Tcmalloc 的功能重合度排序。
  • jemalloc/jemallocjemalloc 的头像

    jemalloc/jemalloc

    10,950在 GitHub 上查看↗

    jemalloc is a general purpose C memory allocator designed as a replacement for the standard library malloc and free functions. It is a multi-threaded allocation library that emphasizes fragmentation avoidance and scalable concurrency for high-performance applications. The project reduces lock contention by using multiple independent memory arenas and thread-local cache layers. It minimizes latency by offloading the reclamation of unused memory pages to asynchronous background threads and utilizes huge page metadata storage to reduce translation lookaside buffer misses. The system includes a

    C
    在 GitHub 上查看↗10,950
  • microsoft/mimallocmicrosoft 的头像

    microsoft/mimalloc

    13,090在 GitHub 上查看↗

    Mimalloc is a general purpose dynamic memory allocator for C and C++ designed to increase execution speed and reduce fragmentation. It functions as a scalable heap manager that replaces standard library allocation functions to improve performance and memory efficiency across applications. The project distinguishes itself as both a heap security hardener and a memory corruption detector. It employs randomized allocation, encrypted free lists, and sampled guard pages to mitigate heap exploits and identify buffer overflows or use-after-free errors during runtime. The allocator provides capabili

    C
    在 GitHub 上查看↗13,090
  • emeryberger/hoardemeryberger 的头像

    emeryberger/Hoard

    1,233在 GitHub 上查看↗

    The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac.

    C++
    在 GitHub 上查看↗1,233
  • rampantpixels/rpmallocrampantpixels 的头像

    rampantpixels/rpmalloc

    2,453在 GitHub 上查看↗

    Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C

    Python
    在 GitHub 上查看↗2,453
查看 Tcmalloc 的所有 30 个替代方案→

常见问题解答

google/tcmalloc 是做什么的?

Tcmalloc 是一个高性能 C++ 内存分配器和运行时库,专为管理大规模服务的堆内存而设计。它作为一个线程缓存内存分配器,减少了多线程应用中的锁竞争,从而在并发工作负载下保持稳定性和性能。

google/tcmalloc 的主要功能有哪些?

google/tcmalloc 的主要功能包括:Allocator Local Caches, 内存分配器, Tiered Memory Caches, High-Concurrency Memory Scaling, Size-Class Allocators, Lock-Free Atomic Containers, C++ Memory Management, Physical Page Allocators。

google/tcmalloc 有哪些开源替代品?

google/tcmalloc 的开源替代品包括: microsoft/mimalloc — Mimalloc is a general purpose dynamic memory allocator for C and C++ designed to increase execution speed and reduce… jemalloc/jemalloc — jemalloc is a general purpose C memory allocator designed as a replacement for the standard library malloc and free… emeryberger/hoard — The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. rampantpixels/rpmalloc — Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C. ivmai/bdwgc — The Boehm-Demers-Weiser conservative C/C++ Garbage Collector (bdwgc, also known as bdw-gc, boehm-gc, libgc). foonathan/memory — STL compatible C++ memory allocator library using a new RawAllocator concept that is similar to an Allocator but…