Skip to content

Add an optional scoped mimalloc allocator - #258

Draft
zayenz wants to merge 3 commits into
mainfrom
feature/mimalloc
Draft

zayenz wants to merge 3 commits into
mainfrom
feature/mimalloc

Conversation

@zayenz

@zayenz zayenz commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Add GECODE_ENABLE_MIMALLOC=ON as a CMake option for Gecode heap and Space storage. A pinned, private mimalloc 3.5.3 build handles allocation through gecodesupport; application malloc, C++ new, and standard containers keep their normal allocator. The system allocator is the default.

Installed consumers need no mimalloc headers, library, preload setup, or redirect DLL. Rebuild consumers with matching configured headers and libraries when changing backends. This initial integration is CMake-only; sanitizer builds and peak-heap accounting use the system backend. Experimental search (#256) can use the option independently.

Shared/static package ownership and thread-transfer checks passed on macOS, Linux and Windows. Other checks cover CMake 3.21.4, hidden symbols, Linux late loading, a separate host allocator, ordinary DFS/BAB, and the default backend with ASan/UBSan. All allocator CI jobs enable integer variables. Independent Astra review and focused CI rechecks passed; the latest full CI run is in progress.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant