mcpp index

compat.mimalloc

#include

mimalloc — compact general-purpose allocator with excellent performance

#include <mimalloc.h>
mcpp add compat.mimalloc@3.4.5

Usage

From this repository's own test project — built and run by CI, not written for the website.

// compat.mimalloc — assert the allocator is real, not just that it links.
//
// Every check below can fail: mi_usable_size reports what mimalloc actually
// reserved (so it proves the pointer came from mimalloc's own bookkeeping and
// not from a fallback), mi_zalloc must return zeroed memory, and a private
// heap must be able to hand out and destroy blocks independently of the
// default heap.
#include <mimalloc.h>
import std;

int main() {
    bool ok = true;

    auto check = [&](bool cond, std::string_view what) {
        if (!cond) {
            std::println("FAIL: {}", what);
            ok = false;
        }
    };

    // 1. Basic allocation, and mimalloc knows the block's real size.
    void* p = mi_malloc(1024);
// …

tests/examples/mimalloc/tests/alloc.cpp · project tests/examples/mimalloc

Build

targets
mimalloc (lib)
language
c++23
C standard
c11
import std
no
include dirs
*/include

Sources (18)

  • */src/alloc.c
  • */src/alloc-aligned.c
  • */src/alloc-posix.c
  • */src/arena.c
  • */src/arena-meta.c
  • */src/bitmap.c
  • */src/heap.c
  • */src/init.c
  • */src/libc.c
  • */src/options.c
  • */src/os.c
  • */src/page.c
  • */src/page-map.c
  • */src/random.c
  • */src/stats.c
  • */src/theap.c
  • */src/threadlocal.c
  • */src/prim/prim.c

Versions

VersionPlatforms Mirrorssha256
3.4.5 latest LinuxWindowsmacOS GLOBAL CN 19a43af0645c…