microsoft/snmalloc 0.7.0
microsoft/snmalloc
Captured source
source ↗published Nov 28, 2024seen 1dcaptured 13hhttp 200method plain
0.7.0
Repository: microsoft/snmalloc
Tag: 0.7.0
Published: 2024-11-28T14:44:12Z
Prerelease: no
Release notes:
What's Changed
See https://github.com/microsoft/snmalloc/blob/main/docs/release/0.7/README.md for an introduction to the 0.7 release.
Optimisation
Startup time
- Startup improvements by @mjp41 in https://github.com/microsoft/snmalloc/pull/639
- Startup speed by @mjp41 in https://github.com/microsoft/snmalloc/pull/665
- Implement MCS Combining lock by @mjp41 in https://github.com/microsoft/snmalloc/pull/666
- Add documentation for the combining lock by @mjp41 in https://github.com/microsoft/snmalloc/pull/683
- implement polite waiting by @SchrodingerZhu in https://github.com/microsoft/snmalloc/pull/685
Produce Consumer workloads (BatchIt)
- Using exclusive mode prefetch by @mjp41 in https://github.com/microsoft/snmalloc/pull/627
- Refactorings to support BatchIt by @nwf-msr in https://github.com/microsoft/snmalloc/pull/652
- msgpass benchmark and its refactoring dependencies by @nwf-msr in https://github.com/microsoft/snmalloc/pull/659
- Bottom commits from BatchIt by @nwf-msr in https://github.com/microsoft/snmalloc/pull/675
- BatchIt by @nwf in https://github.com/microsoft/snmalloc/pull/677
Security Features
- Configurable client meta-data by @mjp41 in https://github.com/microsoft/snmalloc/pull/662
Platforms and Bindings
Libc
- Factor out libc code into a header. by @mjp41 in https://github.com/microsoft/snmalloc/pull/624
- Remove unnecessary assertion from aligned_alloc by @mjp41 in https://github.com/microsoft/snmalloc/pull/658
- aligned_alloc: Permit alignment values smaller than sizeof(uintptr_t) by @bsdjhb in https://github.com/microsoft/snmalloc/pull/671
- aligned_alloc requirements update. by @devnexen in https://github.com/microsoft/snmalloc/pull/681
Rust
- export snmalloc::alloc_size to rust wrappers. by @devnexen in https://github.com/microsoft/snmalloc/pull/676
Windows
- Override _msize on windows by @Naville in https://github.com/microsoft/snmalloc/pull/633
- Disable empty static prefix for Windows. by @mjp41 in https://github.com/microsoft/snmalloc/pull/629
- Add Windows ARM64 support by @jblazquez in https://github.com/microsoft/snmalloc/pull/656
Haiku
- PAL::haiku finally supports getentropy. by @devnexen in https://github.com/microsoft/snmalloc/pull/684
NetBSD
- neasing netbsd build. by @devnexen in https://github.com/microsoft/snmalloc/pull/696
Minor changes and refactorings
- Add a default constructor to seqset nodes. by @davidchisnall in https://github.com/microsoft/snmalloc/pull/636
- Template construction of Pool elements by @mjp41 in https://github.com/microsoft/snmalloc/pull/641
- NFC: sizeclass: differentiate minimum step size and minimum allocation sizes by @nwf-msr in https://github.com/microsoft/snmalloc/pull/651
- Refactor new/delete overrides by @mjp41 in https://github.com/microsoft/snmalloc/pull/660
- Remove the SNMALLOC_USE_CXX17 C preprocessor symbol by @nwf-msr in https://github.com/microsoft/snmalloc/pull/667
- 0-length arrays in Buddy ranges by @nwf-msr in https://github.com/microsoft/snmalloc/pull/672
- gcc UAF warning in test/perf/singlethread -malloc by @nwf in https://github.com/microsoft/snmalloc/pull/679
- Remove some unneeded headers by @mjp41 in https://github.com/microsoft/snmalloc/pull/680
- Remove unneeded template. by @mjp41 in https://github.com/microsoft/snmalloc/pull/687
Build and CI
- Move to clang-format 15 by @mjp41 in https://github.com/microsoft/snmalloc/pull/621
- Adding an option to enable dynamic loading by @matajoh in https://github.com/microsoft/snmalloc/pull/632
- Add C++17 version for Mac. by @mjp41 in https://github.com/microsoft/snmalloc/pull/635
- Workaround runner issue. by @mjp41 in https://github.com/microsoft/snmalloc/pull/645
- FreeBSD CI. by @mjp41 in https://github.com/microsoft/snmalloc/pull/647
- Update NetBSD runner by @mjp41 in https://github.com/microsoft/snmalloc/pull/648
- Updated CI workaround. by @mjp41 in https://github.com/microsoft/snmalloc/pull/650
- Rework CI by @nwf-msr in https://github.com/microsoft/snmalloc/pull/674
- Further gcc -Werror=array-bounds fix by @nwf in https://github.com/microsoft/snmalloc/pull/678
- Provide option to CMake for Page Size by @mjp41 in https://github.com/microsoft/snmalloc/pull/664
- fuzzing test and detect the memmove error by @SchrodingerZhu in https://github.com/microsoft/snmalloc/pull/688
- Add fuzz to CI by @mjp41 in https://github.com/microsoft/snmalloc/pull/690
- clean up Result and make Result move-only by @SchrodingerZhu in https://github.com/microsoft/snmalloc/pull/691
- Minor update to clangformat file. by @mjp41 in https://github.com/microsoft/snmalloc/pull/694
- avoid chrono inclusion when clock_gettime is available by @SchrodingerZhu in https://github.com/microsoft/snmalloc/pull/695
New Contributors
- @matajoh made their first contribution in https://github.com/microsoft/snmalloc/pull/632
- @Naville made their first contribution in https://github.com/microsoft/snmalloc/pull/633
- @jblazquez made their first contribution in https://github.com/microsoft/snmalloc/pull/656
- @bsdjhb made their first contribution in https://github.com/microsoft/snmalloc/pull/671
Full Changelog: https://github.com/microsoft/snmalloc/compare/0.6.2...0.7.0