compat.mimalloc
#includemimalloc — 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