@@ -12,8 +12,8 @@ is a general purpose allocator with excellent [performance](#performance) charac
1212Initially developed by Daan Leijen for the run-time systems of the
1313[ Koka] ( https://koka-lang.github.io ) and [ Lean] ( https://github.com/leanprover/lean ) languages.
1414
15- Latest release tag: ` v2.0.2 ` (beta, 2021-06-17 ).
16- Latest stable tag: ` v1.7.2 ` (2021-06-17 ).
15+ Latest release tag: ` v2.0.3 ` (beta, 2021-11-14 ).
16+ Latest stable tag: ` v1.7.3 ` (2021-11-14 ).
1717
1818mimalloc is a drop-in replacement for ` malloc ` and can be used in other programs
1919without code changes, for example, on dynamically linked ELF-based systems (Linux, BSD, etc.) you can use it as:
@@ -77,6 +77,10 @@ Note: the `v2.x` beta has a new algorithm for managing internal mimalloc pages t
7777 and fragmentation compared to mimalloc ` v1.x ` (especially for large workloads). Should otherwise have similar performance
7878 (see [ below] ( #performance ) ); please report if you observe any significant performance regression.
7979
80+ * 2021-11-14, ` v1.7.3 ` , ` v2.0.3 ` (beta): improved WASM support, improved macOS support and performance (including
81+ M1), improved performance for v2 for large objects, Python integration improvements, more standard
82+ installation directories, various small fixes.
83+
8084* 2021-06-17, ` v1.7.2 ` , ` v2.0.2 ` (beta): support M1, better installation layout on Linux, fix
8185 thread_id on Android, prefer 2-6TiB area for aligned allocation to work better on pre-windows 8, various small fixes.
8286
@@ -142,7 +146,7 @@ mimalloc is used in various large scale low-latency services and programs, for e
142146
143147## Windows
144148
145- Open ` ide/vs2019/mimalloc.sln ` in Visual Studio 2019 and build (or ` ide/vs2017/mimalloc.sln ` ) .
149+ Open ` ide/vs2019/mimalloc.sln ` in Visual Studio 2019 and build.
146150The ` mimalloc ` project builds a static library (in ` out/msvc-x64 ` ), while the
147151` mimalloc-override ` project builds a DLL for overriding malloc
148152in the entire program.
@@ -191,6 +195,11 @@ Notes:
1911952 . Install CCMake: ` sudo apt-get install cmake-curses-gui `
192196
193197
198+ ## Single source
199+
200+ You can also directly build the single ` src/static.c ` file as part of your project without
201+ needing ` cmake ` at all. Make sure to also add the mimalloc ` include ` directory to the include path.
202+
194203
195204# Using the library
196205
@@ -337,9 +346,9 @@ When _mimalloc_ is built using debug mode, various checks are done at runtime to
337346- Corrupted free-lists and some forms of use-after-free are detected.
338347
339348
340- # Overriding Malloc
349+ # Overriding Standard Malloc
341350
342- Overriding the standard ` malloc ` can be done either _ dynamically_ or _ statically_ .
351+ Overriding the standard ` malloc ` (and ` new ` ) can be done either _ dynamically_ or _ statically_ .
343352
344353## Dynamic override
345354
@@ -370,13 +379,12 @@ On macOS we can also preload the mimalloc shared
370379library so all calls to the standard ` malloc ` interface are
371380resolved to the _ mimalloc_ library.
372381```
373- > env DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=/usr/lib/libmimalloc.dylib myprogram
382+ > env DYLD_INSERT_LIBRARIES=/usr/lib/libmimalloc.dylib myprogram
374383```
375384
376385Note that certain security restrictions may apply when doing this from
377386the [ shell] ( https://stackoverflow.com/questions/43941322/dyld-insert-libraries-ignored-when-calling-application-through-bash ) .
378387
379- (Note: macOS support for dynamic overriding is recent, please report any issues.)
380388
381389### Override on Windows
382390
@@ -386,7 +394,7 @@ the (dynamic) C runtime allocator, including those from other DLL's or libraries
386394
387395The overriding on Windows requires that you link your program explicitly with
388396the mimalloc DLL and use the C-runtime library as a DLL (using the ` /MD ` or ` /MDd ` switch).
389- Also, the ` mimalloc-redirect.dll ` (or ` mimalloc-redirect32.dll ` ) must be available
397+ Also, the ` mimalloc-redirect.dll ` (or ` mimalloc-redirect32.dll ` ) must be put
390398in the same folder as the main ` mimalloc-override.dll ` at runtime (as it is a dependency).
391399The redirection DLL ensures that all calls to the C runtime malloc API get redirected to
392400mimalloc (in ` mimalloc-override.dll ` ).
0 commit comments