rpmalloc
rpmalloc copied to clipboard
Public domain cross platform lock free thread caching 16-byte aligned memory allocator implemented in C
In certain situations, my system (OS X 10.14) tries to free a pointer with `rpfree` that was allocated with the system allocator. These can occur depending on how rpmalloc is...
I have integrated rpmalloc into our game-engine and have it working on Windows, XBOX*, Switch, & Playstation*. The project that I am testing it with does a lot of multithreaded...
in the README mimalloc claims > mimalloc always outperforms all other leading allocators (jemalloc, tcmalloc, Hoard, etc) i'm interested to see how it compares to rpmalloc.
Hi, I try to use rpmalloc on a VS2019 C++ Win32 project (x64). I added the rpmalloc.vcxproj to my solution and set ENABLE_OVERRIDE=1 and ENABLE_PRELOAD=1 in both the rpmalloc lib...
rpmalloc sort of assumes that memory blocks mapped in do not commit to a physical page until touched and map large chunks upfront to reduce system call overhead. For systems...
http://man7.org/linux/man-pages/man3/malloc_trim.3.html This is a GNU extension, but it seems a lot of other allocators support it as well. It would be useful to have in e.g. system wide low-memory conditions.
Assimilate orphaned heaps into active heaps according to some scheme to be determined. This avoid free spans being left dangling in heaps that are never reused in the case where...
Hi! While integrating rpmalloc in a project that's compiled for Sony's consoles, I found some issues that even though minor, could improve the user experience if fixed. So I thought...
Hi, i've discovered that the implementation of get_thread_id() here https://github.com/mjansson/rpmalloc/blob/develop/rpmalloc/rpmalloc.c#L787-L818 doesn't appear to work on my hardware and I get SIGILL when using it: ``` # cat /proc/cpuinfo Processor :...
The loop in `_rpmalloc_deallocate_defer_small_or_medium` and `_rpmalloc_span_extract_free_list_deferred` is a spin-lock as far as I understand. Any thread that's de-scheduled there (before free_list_deferred is restored) will block all other threads executing those...