awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
microsoft avatar

microsoft/mimalloc

0
View on GitHub↗
13,090 Stars·1,124 Forks·C·MIT·7 Aufrufemicrosoft.github.io/mimalloc↗

Mimalloc

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 capabilities for isolated heap management, allowing the bulk destruction of related objects without individual deallocation. It also supports various allocator override techniques, including C++ operator overriding and executable binary patching, to inject the allocator into existing binaries without source code modification.

Additional features include memory usage monitoring, allocation trace analysis, and runtime tuning for memory purging and fragmentation management.

Features

  • High Performance Allocators - Provides a high-performance, scalable memory allocator designed to increase execution speed and reduce fragmentation.
  • Custom Memory Allocators - Provides a high-performance general purpose dynamic memory allocation scheme to minimize heap overhead and fragmentation.
  • Speicher-Allokatoren - Implements a high-performance general purpose memory allocator designed for execution speed and reduced fragmentation.
  • Isolated Heap Regions - Provides isolated heap management for collective destruction of related object groups.
  • Dynamic Memory Allocation - Provides a replacement for standard C library malloc and free functions to improve performance and efficiency.
  • Low Latency Allocation - Achieves consistent allocation times and reduced thread contention through sharded free lists and atomic operations.
  • Fixed-Size Memory Pool Managers - Groups allocations into fixed-size buckets to minimize external fragmentation and accelerate lookup speeds.
  • Isolated Heaps - Enables the creation of independent memory arenas that can be destroyed collectively without individual deallocation.
  • Scalable Heap Management - Utilizes sharded free lists to reduce thread contention and provide consistent allocation latency.
  • Heap Security Hardening - Hardens the heap against vulnerabilities using guard pages, randomized allocation, and encrypted free lists.
  • Heap Isolation - Creates independent memory regions allowing the bulk destruction of related objects without individual deallocation.
  • Lock-Free Atomic Containers - Implements high-performance lock-free atomic operations for cross-thread memory deallocation.
  • Paged Memory Management - Organizes memory into large contiguous segments divided into pages for efficient metadata tracking and OS reclamation.
  • Sampled Guard Pages - Detects buffer overflows by placing non-accessible guard pages behind a percentage of memory allocations.
  • Sharded Heaps - Uses independent per-thread memory pools to eliminate lock contention and reduce allocation latency.
  • Security and Threat Mitigations - Mitigates buffer overflows and heap corruption through pointer encoding and randomized allocation order.
  • Heap Security Hardening - Mitigates heap exploits using randomized allocation and encrypted free lists.
  • Corruption Detectors - Identifies buffer overflows and use-after-free errors using sampled guard pages and runtime checks.
  • Binary Patchers - Implements binary-level modification of compiled applications by patching import tables to inject the allocator.
  • Binary Import Redirections - Provides mechanisms to inject the allocator into existing binaries by intercepting standard library allocation calls.
  • Allocator Redirections - Allows injecting a high-performance allocator into existing compiled binaries without modifying source code.
  • Default Allocator Overriding - Routes standard memory allocation calls to a custom implementation via dynamic preloading or static linking.
  • System Memory Allocation - Implements pre-allocation of operating system memory and huge pages during system initialization to reduce overhead.
  • Runtime Configuration - Provides runtime tuning for memory purging and page commitment to optimize resource utilization.
  • Unused Memory Recovery - Identifies and marks empty memory pages to be returned to the operating system to reduce memory pressure.
  • Memory Fragmentation Management - Minimizes resident set size and fragmentation using configured page purging delays and huge page reservations.
  • Deferred Page Purging - Implements configurable delayed purging of unused physical memory to balance performance and memory footprint.
  • C++ Operator Overrides - Replaces standard C++ allocation and deletion operators with optimized alternatives.
  • Memory Purging Tuning - Allows control over the delay and method used to return unused physical memory to the operating system.
  • Runtime - Allows adjusting memory purging and page commitment behaviors to minimize memory pressure and resident set size.
  • Runtime Invariant Verifications - Performs internal state checks during execution to detect bugs and memory corruption via invariant verification.
  • Memory Usage Analyzers - Provides programmatic and environment-based monitoring of memory footprint, block counts, and arena statistics.
  • Sanitizer Integrations - Integrates with external analysis tools and system event tracing to diagnose complex memory behavior.
  • Memory Management - Compact, high-performance general-purpose allocator.
  • Memory Allocation - Compact general purpose allocator with high performance.
  • Memory Management Libraries - General-purpose allocator with high performance.

Star-Verlauf

Star-Verlauf für microsoft/mimallocStar-Verlauf für microsoft/mimalloc

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Mimalloc

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Mimalloc.
  • jemalloc/jemallocAvatar von jemalloc

    jemalloc/jemalloc

    10,950Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗10,950
  • c3lang/c3cAvatar von c3lang

    c3lang/c3c

    5,147Auf GitHub ansehen↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    Auf GitHub ansehen↗5,147
  • google/tcmallocAvatar von google

    google/tcmalloc

    5,255Auf GitHub ansehen↗

    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++
    Auf GitHub ansehen↗5,255
  • angrave/systemprogrammingAvatar von angrave

    angrave/SystemProgramming

    5,734Auf GitHub ansehen↗

    This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation

    Auf GitHub ansehen↗5,734
Alle 30 Alternativen zu Mimalloc anzeigen→

Häufig gestellte Fragen

Was macht microsoft/mimalloc?

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.

Was sind die Hauptfunktionen von microsoft/mimalloc?

Die Hauptfunktionen von microsoft/mimalloc sind: High Performance Allocators, Custom Memory Allocators, Speicher-Allokatoren, Isolated Heap Regions, Dynamic Memory Allocation, Low Latency Allocation, Fixed-Size Memory Pool Managers, Isolated Heaps.

Welche Open-Source-Alternativen gibt es zu microsoft/mimalloc?

Open-Source-Alternativen zu microsoft/mimalloc sind unter anderem: jemalloc/jemalloc — jemalloc is a general purpose C memory allocator designed as a replacement for the standard library malloc and free… c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… google/tcmalloc — Tcmalloc is a high-performance C++ memory allocator and runtime library designed to manage heap memory for large-scale… angrave/systemprogramming — This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core… phil-opp/blog_os — This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves… mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an…