11# snmalloc-rs
22
3- ** Notice: MinGW Build is broken and may not be fixed in a near future.
4- See [ this PR] ( https://github.com/microsoft/snmalloc/pull/217 ) in the upstream.**
5-
6- MSVC/MinGW/Linux/MacOS: [ ![ Actions Status] ( https://github.com/schrodingerzhu/snmalloc-rs/workflows/Rust/badge.svg )] ( https://github.com/schrodingerzhu/snmalloc-rs/actions )
7-
8- FreeBSD: [ ![ Build Status] ( https://api.cirrus-ci.com/github/SchrodingerZhu/snmalloc-rs.svg )] ( https://cirrus-ci.com/github/SchrodingerZhu/snmalloc-rs )
3+ [ ![ snmalloc-rs CI] ( https://github.com/microsoft/snmalloc/actions/workflows/rust.yml/badge.svg )] ( https://github.com/microsoft/snmalloc/actions/workflows/rust.yml )
94
105` snmalloc-rs ` provides a wrapper for [ ` microsoft/snmalloc ` ] ( https://github.com/microsoft/snmalloc ) to make it usable as
116a global allocator for rust. snmalloc is a research allocator. Its key design features are:
@@ -16,9 +11,9 @@ a global allocator for rust. snmalloc is a research allocator. Its key design fe
1611- The allocator uses large ranges of pages to reduce the amount of meta-data required.
1712
1813Some old benchmark results are available in
19- the [ ` snmalloc ` paper] ( https://github.com/microsoft/snmalloc/blob/master/snmalloc.pdf ) . Some recent benchmark results
20- are listed at
21- [ bench_suite ] ( https://github.com/SchrodingerZhu/bench_suite ) . There are following features defined in this crate:
14+ the [ ` snmalloc ` paper] ( https://github.com/microsoft/snmalloc/blob/master/snmalloc.pdf ) .
15+
16+ There are the following features defined in this crate:
2217
2318- ` debug ` : Enable the ` Debug ` mode in ` snmalloc ` . This is also automatically enabled if Cargo's ` DEBUG ` environment variable is set to ` true ` .
2419- ` native-cpu ` : Optimize ` snmalloc ` for the native CPU of the host machine. (this is not a default behavior
@@ -71,19 +66,6 @@ To set `SnMalloc` as the global allocator add this to your project:
7166static ALLOC : snmalloc_rs :: SnMalloc = snmalloc_rs :: SnMalloc ;
7267```
7368
74- ## For MinGW Users
75-
76- ` mingw ` version is only tested on nightly branch with MSYS environment. We are using dynamic linking method. Hence,
77- please make sure the following libs are in your ` PATH ` :
78-
79- - ` winpthread `
80- - ` atomic `
81- - ` stdc++ `
82- - ` gcc_s `
83-
84- ** Notice:** since version ` 0.2.12 ` , we no longer require you to provide additional environment variables for ` mingw `
85- target.
86-
8769## For Android Cross-Compilation
8870
8971- ` ANDROID_NDK ` must be provided as an environment variable
@@ -95,6 +77,11 @@ target.
9577
9678## Changelog
9779
80+ ### 0.7.4
81+
82+ - Tracking upstream to match version 0.7.4.
83+ - SnMalloc has been moved to upstream repository. Future releases will track upstream release directly.
84+
9885### 0.3.8
9986
10087- Tracking upstream to match version 0.7.1
0 commit comments