mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-07-01 17:24:38 +03:00
merge from dev
This commit is contained in:
commit
b0958d81fa
6 changed files with 20 additions and 12 deletions
|
@ -130,7 +130,7 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|x64|amd64|AMD64)$" OR CMAKE_GENE
|
||||||
set(MI_ARCH "x64")
|
set(MI_ARCH "x64")
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|armv[89].?|ARM64)$" OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" OR "arm64" IN_LIST CMAKE_OSX_ARCHITECTURES)
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|armv[89].?|ARM64)$" OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" OR "arm64" IN_LIST CMAKE_OSX_ARCHITECTURES)
|
||||||
set(MI_ARCH "arm64")
|
set(MI_ARCH "arm64")
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|armv[34567]|ARM)$")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|armv[34567].?|ARM)$")
|
||||||
set(MI_ARCH "arm32")
|
set(MI_ARCH "arm32")
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv|riscv32|riscv64)$")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(riscv|riscv32|riscv64)$")
|
||||||
if(CMAKE_SIZEOF_VOID_P==4)
|
if(CMAKE_SIZEOF_VOID_P==4)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
set(mi_version_major 3)
|
set(mi_version_major 3)
|
||||||
set(mi_version_minor 0)
|
set(mi_version_minor 1)
|
||||||
set(mi_version_patch 4)
|
set(mi_version_patch 4)
|
||||||
set(mi_version ${mi_version_major}.${mi_version_minor})
|
set(mi_version ${mi_version_major}.${mi_version_minor})
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,8 @@ vcpkg_from_github(
|
||||||
HEAD_REF master
|
HEAD_REF master
|
||||||
|
|
||||||
# The "REF" can be a commit hash, branch name (dev2), or a version (v2.2.1).
|
# The "REF" can be a commit hash, branch name (dev2), or a version (v2.2.1).
|
||||||
# REF "v${VERSION}"
|
REF "v${VERSION}"
|
||||||
REF 6a89f8554eaab8d8d00e17b5b09f79e1d8dbf61b
|
# REF 6a89f8554eaab8d8d00e17b5b09f79e1d8dbf61b
|
||||||
|
|
||||||
# The sha512 is the hash of the tar.gz bundle.
|
# The sha512 is the hash of the tar.gz bundle.
|
||||||
# (To get the sha512, run `vcpkg install mimalloc[override] --overlay-ports=<dir of this file>` and copy the sha from the error message.)
|
# (To get the sha512, run `vcpkg install mimalloc[override] --overlay-ports=<dir of this file>` and copy the sha from the error message.)
|
||||||
|
@ -19,6 +19,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||||
secure MI_SECURE
|
secure MI_SECURE
|
||||||
override MI_OVERRIDE
|
override MI_OVERRIDE
|
||||||
optarch MI_OPT_ARCH
|
optarch MI_OPT_ARCH
|
||||||
|
nooptarch MI_NO_OPT_ARCH
|
||||||
optsimd MI_OPT_SIMD
|
optsimd MI_OPT_SIMD
|
||||||
xmalloc MI_XMALLOC
|
xmalloc MI_XMALLOC
|
||||||
asm MI_SEE_ASM
|
asm MI_SEE_ASM
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "mimalloc",
|
"name": "mimalloc",
|
||||||
"version": "3.0.2",
|
"version": "3.1.4",
|
||||||
"port-version": 2,
|
"port-version": 2,
|
||||||
"description": "Compact general purpose allocator with excellent performance",
|
"description": "Compact general purpose allocator with excellent performance",
|
||||||
"homepage": "https://github.com/microsoft/mimalloc",
|
"homepage": "https://github.com/microsoft/mimalloc",
|
||||||
|
@ -35,6 +35,9 @@
|
||||||
"optarch": {
|
"optarch": {
|
||||||
"description": "Use architecture specific optimizations (on x64: '-march=haswell;-mavx2', on arm64: '-march=armv8.1-a')"
|
"description": "Use architecture specific optimizations (on x64: '-march=haswell;-mavx2', on arm64: '-march=armv8.1-a')"
|
||||||
},
|
},
|
||||||
|
"nooptarch": {
|
||||||
|
"description": "Do _not_ use architecture specific optimizations (on x64: '-march=haswell;-mavx2', on arm64: '-march=armv8.1-a')"
|
||||||
|
},
|
||||||
"optsimd": {
|
"optsimd": {
|
||||||
"description": "Allow use of SIMD instructions (avx2 or neon) (requires 'optarch' to be enabled)"
|
"description": "Allow use of SIMD instructions (avx2 or neon) (requires 'optarch' to be enabled)"
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,7 +8,7 @@ terms of the MIT license. A copy of the license can be found in the file
|
||||||
#ifndef MIMALLOC_H
|
#ifndef MIMALLOC_H
|
||||||
#define MIMALLOC_H
|
#define MIMALLOC_H
|
||||||
|
|
||||||
#define MI_MALLOC_VERSION 304 // major + 2 digits minor
|
#define MI_MALLOC_VERSION 314 // major + 2 digits minor
|
||||||
|
|
||||||
// ------------------------------------------------------
|
// ------------------------------------------------------
|
||||||
// Compiler specific attributes
|
// Compiler specific attributes
|
||||||
|
|
16
readme.md
16
readme.md
|
@ -12,9 +12,9 @@ is a general purpose allocator with excellent [performance](#performance) charac
|
||||||
Initially developed by Daan Leijen for the runtime systems of the
|
Initially developed by Daan Leijen for the runtime systems of the
|
||||||
[Koka](https://koka-lang.github.io) and [Lean](https://github.com/leanprover/lean) languages.
|
[Koka](https://koka-lang.github.io) and [Lean](https://github.com/leanprover/lean) languages.
|
||||||
|
|
||||||
Latest release : `v3.0.3` (beta) (2025-03-28).
|
Latest release : `v3.1.4` (beta) (2025-06-09).
|
||||||
Latest v2 release: `v2.2.3` (2025-03-28).
|
Latest v2 release: `v2.2.4` (2025-06-09).
|
||||||
Latest v1 release: `v1.9.3` (2024-03-28).
|
Latest v1 release: `v1.9.4` (2024-06-09).
|
||||||
|
|
||||||
mimalloc is a drop-in replacement for `malloc` and can be used in other programs
|
mimalloc is a drop-in replacement for `malloc` and can be used in other programs
|
||||||
without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
|
without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
|
||||||
|
@ -77,12 +77,16 @@ Enjoy!
|
||||||
* `dev2`: development branch for mimalloc v2. This branch is downstream of `dev`
|
* `dev2`: development branch for mimalloc v2. This branch is downstream of `dev`
|
||||||
(and is essentially equal to `dev` except for `src/segment.c`). Uses larger sliced segments to manage
|
(and is essentially equal to `dev` except for `src/segment.c`). Uses larger sliced segments to manage
|
||||||
mimalloc pages that can reduce fragmentation.
|
mimalloc pages that can reduce fragmentation.
|
||||||
* `dev3`: development branch for mimalloc v3-beta. This branch is downstream of `dev`. This version
|
* `dev3`: development branch for mimalloc v3 beta. This branch is downstream of `dev`. This version
|
||||||
simplifies the lock-free ownership of previous versions, has no thread-local segments any more.
|
simplifies the lock-free ownership of previous versions, and improves sharing of memory between
|
||||||
This improves sharing of memory between threads, and on certain large workloads may use (much) less memory.
|
threads. On certain large workloads this version may use (much) less memory.
|
||||||
|
|
||||||
### Releases
|
### Releases
|
||||||
|
|
||||||
|
* 2025-06-09, `v1.9.4`, `v2.2.4`, `v3.1.4` (beta) : Some important bug fixes, including a case where OS memory
|
||||||
|
was not always fully released. Improved v3 performance, build on XBox, fix build on Android, support interpose
|
||||||
|
for older macOS versions, use MADV_FREE_REUSABLE on macOS, always check commit success, better support for Windows
|
||||||
|
fixed TLS offset, etc.
|
||||||
* 2025-03-28, `v1.9.3`, `v2.2.3`, `v3.0.3` (beta) : Various small bug and build fixes, including:
|
* 2025-03-28, `v1.9.3`, `v2.2.3`, `v3.0.3` (beta) : Various small bug and build fixes, including:
|
||||||
fix arm32 pre v7 builds, fix mingw build, get runtime statistics, improve statistic commit counts,
|
fix arm32 pre v7 builds, fix mingw build, get runtime statistics, improve statistic commit counts,
|
||||||
fix execution on non BMI1 x64 systems.
|
fix execution on non BMI1 x64 systems.
|
||||||
|
|
Loading…
Add table
Reference in a new issue