awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
microsoft avatar

microsoft/mimalloc

0
View on GitHub↗
13,090 نجوم·1,124 تفرعات·C·MIT·7 مشاهداتmicrosoft.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.
  • مخصصات الذاكرة - 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.

سجل النجوم

مخطط تاريخ النجوم لـ microsoft/mimallocمخطط تاريخ النجوم لـ microsoft/mimalloc

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة 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.

ما هي الميزات الرئيسية لـ microsoft/mimalloc؟

الميزات الرئيسية لـ microsoft/mimalloc هي: High Performance Allocators, Custom Memory Allocators, مخصصات الذاكرة, Isolated Heap Regions, Dynamic Memory Allocation, Low Latency Allocation, Fixed-Size Memory Pool Managers, Isolated Heaps.

ما هي البدائل مفتوحة المصدر لـ microsoft/mimalloc؟

تشمل البدائل مفتوحة المصدر لـ microsoft/mimalloc: 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…

بدائل مفتوحة المصدر لـ Mimalloc

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Mimalloc.
  • jemalloc/jemallocالصورة الرمزية لـ jemalloc

    jemalloc/jemalloc

    10,950عرض على 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
    عرض على GitHub↗10,950
  • c3lang/c3cالصورة الرمزية لـ c3lang

    c3lang/c3c

    5,147عرض على 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
    عرض على GitHub↗5,147
  • google/tcmallocالصورة الرمزية لـ google

    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
  • angrave/systemprogrammingالصورة الرمزية لـ angrave

    angrave/SystemProgramming

    5,734عرض على 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

    عرض على GitHub↗5,734
عرض جميع البدائل الـ 30 لـ Mimalloc→