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

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

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

jemalloc/jemalloc

0
View on GitHub↗
10,950 星标·1,627 分支·C·5 次浏览jemalloc.net↗

Jemalloc

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 heap profiling tool for analyzing allocation patterns and identifying memory leaks. It also provides custom memory management hooks that allow developers to override how the allocator requests and releases memory from the operating system.

Features

  • Custom Memory Allocators - Provides a high-performance custom memory allocator designed to replace the standard C library malloc and free functions.
  • 内存分配器 - Implements a general-purpose memory allocation library emphasizing fragmentation avoidance and scalable concurrency.
  • High-Concurrency Memory Scaling - Optimizes how threads request and release memory to prevent performance bottlenecks in large-scale, high-concurrency software.
  • High Performance Allocators - Provides a high-performance allocation implementation optimized for execution speed and reduced lock contention via multiple arenas.
  • Arena-Based Memory Management - Implements an arena-based memory management strategy that binds threads to specific pools to reduce lock contention.
  • Arena Allocators - Assigns threads to independent memory pools to reduce lock contention and improve data locality.
  • Slab Allocators - Utilizes slab allocators to group objects of the same size, minimizing internal fragmentation and speeding up lookups.
  • C Heap Allocators - Serves as a high-performance replacement for the standard C library malloc and free functions.
  • Extent-Based Management - Uses extensible trees to track contiguous blocks of memory pages for efficient reclamation and fragmentation control.
  • Multi-threaded Memory Management - Reduces lock contention and fragmentation when allocating memory across many CPU cores in high-performance environments.
  • Thread Local Storage - Implements per-thread buffers to store frequently used memory chunks, eliminating the need for global locks.
  • Metadata Address Mapping - Employs a multi-level radix tree structure to quickly map memory addresses to allocation metadata.
  • Huge Page Optimizations - Utilizes transparent huge pages for internal metadata storage to minimize translation lookaside buffer misses.
  • Low Latency Allocation - Optimizes allocation paths and offloads memory purging to background threads to ensure minimal latency.
  • Heap Allocation Strategies - Ships a heap profiling tool that monitors allocation patterns and analyzes usage to detect leaks.
  • Unused Memory Recovery - Offloads the recovery and return of unused memory pages to the operating system using asynchronous background threads.
  • Custom Memory Hooks - Provides custom hooks to override default operating system memory request and release methods.
  • Deferred Page Purging - Implements asynchronous background threads to return unused physical memory pages to the operating system and reduce latency.
  • Memory Purging Tuning - Provides configuration options to tune the decay time and methods for purging unused memory back to the operating system.
  • Memory Profilers - Includes a built-in tool for analyzing heap allocation patterns and identifying memory leaks.
  • Memory Management - General-purpose allocator with concurrency support.
  • Memory Allocation - General purpose malloc with fragmentation avoidance and concurrency support.
  • Memory Management Libraries - Memory allocator emphasizing fragmentation avoidance.

Star 历史

jemalloc/jemalloc 的 Star 历史图表jemalloc/jemalloc 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

Jemalloc 的开源替代方案

相似的开源项目,按与 Jemalloc 的功能重合度排序。
  • 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
  • google/tcmallocgoogle 的头像

    google/tcmalloc

    5,255在 GitHub 上查看↗

    Tcmalloc is a high-performance C++ memory allocator and runtime library designed to manage heap memory for large-scale services. It functions as a thread-caching memory allocator that reduces lock contention in multi-threaded applications to maintain stability and performance during concurrent workloads. The project focuses on high-concurrency memory allocation and multithreaded application scaling. It employs a strategy of providing per-thread caches to ensure fast memory access and improve the throughput of parallel programs in low-level system programming environments. The library manages

    C++
    在 GitHub 上查看↗5,255
  • facebook/follyfacebook 的头像

    facebook/folly

    30,412在 GitHub 上查看↗

    Folly is a collection of high-performance C++ components designed as an extension to the C++ Standard Library for large-scale production environments. It provides specialized toolkits for memory management, concurrency, asynchronous workflows, and low-latency input and output operations. The project distinguishes itself through the provision of lock-free containers and bounded queues to minimize contention in multi-threaded applications, alongside a framework for managing deferred computations using futures and promises. It further offers specialized memory arenas and optimized implementation

    C++
    在 GitHub 上查看↗30,412
  • 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
查看 Jemalloc 的所有 30 个替代方案→

常见问题解答

jemalloc/jemalloc 是做什么的?

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.

jemalloc/jemalloc 的主要功能有哪些?

jemalloc/jemalloc 的主要功能包括:Custom Memory Allocators, 内存分配器, High-Concurrency Memory Scaling, High Performance Allocators, Arena-Based Memory Management, Arena Allocators, Slab Allocators, C Heap Allocators。

jemalloc/jemalloc 有哪些开源替代品?

jemalloc/jemalloc 的开源替代品包括: microsoft/mimalloc — Mimalloc is a general purpose dynamic memory allocator for C and C++ designed to increase execution speed and reduce… google/tcmalloc — Tcmalloc is a high-performance C++ memory allocator and runtime library designed to manage heap memory for large-scale… facebook/folly — Folly is a collection of high-performance C++ components designed as an extension to the C++ Standard Library for… emeryberger/hoard — The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac. c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… facebookincubator/velox — Velox is a high-performance C++ query execution engine and columnar data processing library. It serves as a composable…