Releases: GoldJohnKing/mimalloc
Arma-3-v2.1.9-20250213
Changelog
- Fix: Previously released version
Arma-3-v2.1.9-20250212
won't load and always falls back to defaulttbbmalloc
.
Description
This is a port of Microsoft's mimalloc memory allocator for Arma 3 and Arma 2: Operation Arrowhead, which utilizes large pages and eager commit to achieve up to 30% higher FPS than default memory allocator while siginificantly improves the worst case FPS (or the lowest FPS), depending on your PC's specifications and actual scenarios.
Donation
Love this project? You can buy me a coffee.
Pateron: https://www.patreon.com/mimalloc_Arma3
Arma-3-v3.0.1-20250213
Note
mimalloc v3 is still in alpha state. It is neither performant nor stable. You should always prefer v2.1.9
instead.
Changelog
- Merge upstream changes v3.0.1, see https://github.com/microsoft/mimalloc#releases for details.
Description
This is a port of Microsoft's mimalloc memory allocator for Arma 3 and Arma 2: Operation Arrowhead, which utilizes large pages and eager commit to achieve up to 30% higher FPS than default memory allocator while siginificantly improves the worst case FPS (or the lowest FPS), depending on your PC's specifications and actual scenarios.
Arma-3-v2.1.9-20250212
Note
This version Arma-3-v2.1.9-20250212
won't load and always falls back to default tbbmalloc
, due to a missing DLL dependency mimalloc-redirect.dll
, which was newly introduced by Microsoft as a default.
The new version Arma-3-v2.1.9-20250213
fixed that issue, which loads without that DLL dependency.
Changelog
- Merge upstream changes v2.1.9, see https://github.com/microsoft/mimalloc#releases for details.
- Update Intel® oneAPI DPC++/C++ Compiler to
2025.0.4.21
.
Description
This is a port of Microsoft's mimalloc memory allocator for Arma 3 and Arma 2: Operation Arrowhead, which utilizes large pages to achieve up to 30% higher FPS than default memory allocator while siginificantly improves the worst case FPS (or the lowest FPS), depending on your PC's specifications and actual scenarios.
Arma-3-v2.1.7-20250103
Changelog
- Fix performance regression since
Arma-3-v2.1.2-20230427
.
Note
- Now
mimalloc
always tries to reserveLarge Pages
(up to 1GiB per page) when necessary, regardless of whether you toggleEnable Large-page Support
option in Arma 3 Launcher, or append-hugePages
parameter when startingarma3_x64.exe
/arma3.exe
, as long as your system is configured properly (see Enable the Lock pages in memory option). Large Pages
are always locked in physical memory, according to Large-Page Support from Microsoft. So, forget aboutlock-pages
variants provided in previous releases, as it is always the default behavior.no-collect
andscheduled-collect
variants provided in previous releases have been removed, too, since they were proven to have no benefits in any aspects.
Arma-3-v2.1.7-20241117
Note
This release is deprecated, as it has performance drawbacks than v210
, and does no performance gain than default TBB memory allocator.
Changelog
- Merge upstream changes v2.1.7, see https://github.com/microsoft/mimalloc#releases for details.
- Update Intel® oneAPI DPC++/C++ Compiler to 2025.0.0.
Description
This is a port of Microsoft's mimalloc memory allocator for Arma 3 and Arma 2: Operation Arrowhead, which utilizes large pages to achieve up to 30% higher FPS than default memory allocator while siginificantly improves the worst case FPS (or the lowest FPS), depending on your PC's specifications and actual scenarios.
Which One Should I Use?
For General Use: mimalloc_<version>.dll
mimalloc_<version>.dll
is for general use, if you do not know which one to choose, this is always the recommendation.
For PC with Large Memory: mimalloc_<version>_lock_pages.dll
This variant locks up to 8 consecutive 1GB large pages in your physical memory and prevents them from being swapped into virtual memory. Personally I won't recommend it, as it consumes huge amount of memory but only provides a little bit more performance gain than mimalloc_<version>.dll
. However, some users say it does do better work than mimalloc_<version>.dll
, so you may give a try.
For PC with Limited Memory: mimalloc_<version>_scheduled_collect.dll
This variant flushes unreferenced memory blocks every 5 minutes to keep memory more compact and less fragmented, leading to more stable performance on memory-limited PC while reducing overall memory consumption. However, if you get "STATUS_ACCESS_VIOLATION" crash frequently, you should fallback to mimalloc_<version>.dll
, or try mimalloc_<version>_no_collect.dll
.
To Avoid Frequently Crash: mimalloc_<version>_no_collect.dll
If you frequently get "STATUS_ACCESS_VIOLATION" crash, you should try mimalloc_<version>_no_collect.dll
. This variant omits all memory flush/free requests from Arma 3, keeping the memory blocks managed by mimalloc internally, which may reduces the probability of "STATUS_ACCESS_VIOLATION" crash. Despite program error (Arma itself or mods' fault), hardware error can also lead to the crash, so I recommend check your PC first, make sure it is neither too overclocked nor too old.
Arma-3-v2.1.4-20240424
Note
This release is deprecated, as it has performance drawbacks than v210
, and does no performance gain than default TBB memory allocator.
Changelog
- Merge upstream changes v2.1.4, see https://github.com/microsoft/mimalloc#releases for details.
- Update compiler to Intel® oneAPI DPC++/C++ Compiler 2024.1.0 Release.
Arma-3-v2.1.2-20230427
Note
This release is deprecated, as it has performance drawbacks than v210
, and does no performance gain than default TBB memory allocator.
Changelog
- Merge upstream updates, see https://github.com/microsoft/mimalloc#releases for details.
- Update Intel® C++ Compiler Classic to 2021.9 (oneAPI 2023.1 Release).
- Optimize compilation options.
Description
This is a port of Microsoft's mimalloc memory allocator for Arma 3 and Arma 2: Operation Arrowhead, which utilizes large pages to give up to 30% higher FPS than default memory allocator, as well as siginificantly improves the worst case FPS (or the lowest FPS), depending on your PC's specifications and actual scenarios.
Which One Should I Use
For General Use: mimalloc_v212.dll
mimalloc_v212.dll
is for general use, if you do not know which one to choose, this is always the recommendation.
For People with Large Memory: mimalloc_v212_lock_pages.dll
mimalloc_v212_lock_pages.dll
is for people who have large memory. It will lock up to 8 consecutive 1GB large pages in your physical memory and prevent it from being swapped into virtual memory. Personally I won't recommend it, as it only provides a little more performance gain than mimalloc_v212.dll
but consumes huge amount of memory. However, some users say it does do better work than mimalloc_v212.dll
, so you may give a try.
For People Who Get Frequently Crash: mimalloc_v212_no_collect.dll
mimalloc_v212_no_collect.dll
is for people with not that large but still large enough memory, or people who frequently crash because of "STATUS_ACCESS_VIOLATION" error. This variant omits all memory flush/free requests from Arma 3, keeping the memory blocks managed by mimalloc internally, which greatly reduces the probability of the well-known "STATUS_ACCESS_VIOLATION" crash. Despite program error (Arma itself or mod's fault), hardware error can also lead to the crash, so I recommend you check your PC first, make sure it is neither too overclocked nor too old.
For People with Limited Memory: mimalloc_v212_scheduled_collect.dll
mimalloc_v212_scheduled_collect.dll
is for people with limited memory. This variant flushes unreferenced memory blocks every 5 minutes to keep memory more compact and less fragmented, which may reduce overall memory consumption. However, this is not without risks. If you get "STATUS_ACCESS_VIOLATION" crash frequently, you should fallback to mimalloc_v212.dll
, or try mimalloc_v212_no_collect.dll
out.
About My Other Ports of Memory Allocators
You may also check out my other ports of memory allocators, but I do not recommend using them anymore.
Arma-3-v2.1.0-20230330
Donation
If you like my work, welcome to donate via Paypal: https://paypal.me/GoldJohnKing
Changelog
- Update follow upstream, see https://github.com/microsoft/mimalloc/releases/tag/v2.1.0 for details.
Arma-3-v2.0.9-20230103
Donation
If you like my work, welcome to donate via Paypal: https://paypal.me/GoldJohnKing
Attention
It is said that v209 may have an instability issue (microsoft#691). If your game crashes, please fallback to v207.
Changelog
- Update follow upstream, see https://github.com/microsoft/mimalloc/releases/tag/v2.0.9 for details.
- Update Intel oneAPI C++ Compiler to 2023.0.0.
Arma-3-v2.0.7-20221110
Donation
If you like my work, welcome to donate via Paypal: https://paypal.me/GoldJohnKing
Changelog
- Update follow upstream, see https://github.com/microsoft/mimalloc/releases/tag/v2.0.6 for details.
- Switch to Intel C++ Compiler for better performance.