Opened 7 years ago
Last modified 2 months ago
#13554 assigned enhancement
Investigate switching allocators — at Initial Version
Reported by: | waddlesplash | Owned by: | nobody |
---|---|---|---|
Priority: | high | Milestone: | Unscheduled |
Component: | System/libroot.so | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
We presently use an old version of the Hoard allocator, which is licensed under the LGPLv2. Newer versions are GPL or commercial license only, which is obviously not acceptable.
Benchmarks done by the Lockless group also show that the Hoard allocator has a very worrying performance dropoff for larger allocations (see attached image).
jemalloc (not in that graph, but benchmarked in another graph on the same page) seems to have the best performance out of all the available options. It originated in FreeBSD (and is thus under a BSD-style license) but already works on many other platforms (e.g. the Rust language uses it for memory allocation just about everywhere, I believe.)