Skip to content

Releases: GoldJohnKing/mimalloc

Arma-3-v2.1.9-20250213

13 Feb 08:45
Compare
Choose a tag to compare

Changelog

  • Fix: Previously released version Arma-3-v2.1.9-20250212 won't load and always falls back to default tbbmalloc.

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

13 Feb 11:00
Compare
Choose a tag to compare
Pre-release

Note

mimalloc v3 is still in alpha state. It is neither performant nor stable. You should always prefer v2.1.9 instead.

Changelog

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

12 Feb 14:35
Compare
Choose a tag to compare
Pre-release

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

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

02 Jan 17:24
Compare
Choose a tag to compare

Changelog

Note

  • Now mimalloc always tries to reserve Large Pages (up to 1GiB per page) when necessary, regardless of whether you toggle Enable Large-page Support option in Arma 3 Launcher, or append -hugePages parameter when starting arma3_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 about lock-pages variants provided in previous releases, as it is always the default behavior.
  • no-collect and scheduled-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

17 Nov 02:08
Compare
Choose a tag to compare
Pre-release

Note

This release is deprecated, as it has performance drawbacks than v210, and does no performance gain than default TBB memory allocator.

Changelog

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

24 Apr 08:10
Compare
Choose a tag to compare
Pre-release

Note

This release is deprecated, as it has performance drawbacks than v210, and does no performance gain than default TBB memory allocator.

Changelog

Arma-3-v2.1.2-20230427

27 Apr 08:57
Compare
Choose a tag to compare
Pre-release

Note

This release is deprecated, as it has performance drawbacks than v210, and does no performance gain than default TBB memory allocator.

Changelog

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

30 Mar 07:21
Compare
Choose a tag to compare
Pre-release

Donation

If you like my work, welcome to donate via Paypal: https://paypal.me/GoldJohnKing

Changelog

Arma-3-v2.0.9-20230103

03 Jan 03:14
Compare
Choose a tag to compare
Pre-release

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

Arma-3-v2.0.7-20221110

10 Nov 02:35
Compare
Choose a tag to compare

Donation

If you like my work, welcome to donate via Paypal: https://paypal.me/GoldJohnKing

Changelog