awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
microsoft avatar

microsoft/mimalloc

0
View on GitHub↗
13,090 stele·1,124 fork-uri·C·MIT·7 vizualizărimicrosoft.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.
  • Alocatoare de memorie - 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.

Istoric stele

Graficul istoricului de stele pentru microsoft/mimallocGraficul istoricului de stele pentru microsoft/mimalloc

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Mimalloc

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Mimalloc.
  • jemalloc/jemallocAvatar jemalloc

    jemalloc/jemalloc

    10,950Vezi pe 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
    Vezi pe GitHub↗10,950
  • c3lang/c3cAvatar c3lang

    c3lang/c3c

    5,147Vezi pe GitHub↗

    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
    Vezi pe GitHub↗5,147
  • google/tcmallocAvatar google

    google/tcmalloc

    5,255Vezi pe 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++
    Vezi pe GitHub↗5,255
  • angrave/systemprogrammingAvatar angrave

    angrave/SystemProgramming

    5,734Vezi pe GitHub↗

    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

    Vezi pe GitHub↗5,734
Vezi toate cele 30 alternative pentru Mimalloc→

Întrebări frecvente

Ce face 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.

Care sunt principalele funcționalități ale microsoft/mimalloc?

Principalele funcționalități ale microsoft/mimalloc sunt: High Performance Allocators, Custom Memory Allocators, Alocatoare de memorie, Isolated Heap Regions, Dynamic Memory Allocation, Low Latency Allocation, Fixed-Size Memory Pool Managers, Isolated Heaps.

Care sunt câteva alternative open-source pentru microsoft/mimalloc?

Alternativele open-source pentru microsoft/mimalloc includ: 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…