awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jemalloc avatar

jemalloc/jemalloc

0
View on GitHub↗
10,950 stars·1,627 forks·C·19 viewsjemalloc.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.
  • Memory Allocators - 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 history

Star history chart for jemalloc/jemallocStar history chart for jemalloc/jemalloc

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does jemalloc/jemalloc do?

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.

What are the main features of jemalloc/jemalloc?

The main features of jemalloc/jemalloc are: Custom Memory Allocators, Memory Allocators, High-Concurrency Memory Scaling, High Performance Allocators, Arena-Based Memory Management, Arena Allocators, Slab Allocators, C Heap Allocators.

What are some open-source alternatives to jemalloc/jemalloc?

Open-source alternatives to jemalloc/jemalloc include: 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…

Open-source alternatives to Jemalloc

Similar open-source projects, ranked by how many features they share with Jemalloc.
  • microsoft/mimallocmicrosoft avatar

    microsoft/mimalloc

    13,090View on 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
    View on GitHub↗13,090
  • google/tcmallocgoogle avatar

    google/tcmalloc

    5,255View on 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++
    View on GitHub↗5,255
  • facebook/follyfacebook avatar

    facebook/folly

    30,412View on 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++
    View on GitHub↗30,412
  • emeryberger/hoardemeryberger avatar

    emeryberger/Hoard

    1,233View on GitHub↗

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

    C++
    View on GitHub↗1,233
  • See all 30 alternatives to Jemalloc→