awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 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·9 vuesjemalloc.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.
  • Allocateurs de mémoire - 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.

Historique des stars

Graphique de l'historique des stars pour jemalloc/jemallocGraphique de l'historique des stars pour jemalloc/jemalloc

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait 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.

Quelles sont les fonctionnalités principales de jemalloc/jemalloc ?

Les fonctionnalités principales de jemalloc/jemalloc sont : Custom Memory Allocators, Allocateurs de mémoire, High-Concurrency Memory Scaling, High Performance Allocators, Arena-Based Memory Management, Arena Allocators, Slab Allocators, C Heap Allocators.

Quelles sont les alternatives open-source à jemalloc/jemalloc ?

Les alternatives open-source à jemalloc/jemalloc incluent : 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…

Alternatives open source à Jemalloc

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Jemalloc.
  • microsoft/mimallocAvatar de microsoft

    microsoft/mimalloc

    13,090Voir sur 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
    Voir sur GitHub↗13,090
  • google/tcmallocAvatar de google

    google/tcmalloc

    5,255Voir sur 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++
    Voir sur GitHub↗5,255
  • facebook/follyAvatar de facebook

    facebook/folly

    30,412Voir sur 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++
    Voir sur GitHub↗30,412
  • emeryberger/hoardAvatar de emeryberger

    emeryberger/Hoard

    1,233Voir sur GitHub↗

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

    C++
    Voir sur GitHub↗1,233
  • Voir les 30 alternatives à Jemalloc→