Originally posted by sdack
View Post
Announcement
Collapse
No announcement yet.
Mesa Looks At Switching To Jemalloc For Faster Performance
Collapse
X
-
Originally posted by sdack View PostDid they test it with locklessmalloc, too? http://locklessinc.com/benchmarks_allocator.shtml
https://www.percona.com/blog/2012/07...l-performance/
Google's tcmalloc, from various benchmarks I've seen, seems the best general purpose allocator.
I'd be curious to see how well tlsf would work for Mesa, but there's not been a new release of that for awhile.
Regardless, glibc's allocator is awful.
Edit: lockfree is also not really lockfree, nor is it simple. See http://programmers.stackexchange.com...emory-allocatoLast edited by liam; 30 September 2016, 12:38 AM.
- Likes 1
Comment
-
Originally posted by liam View PostIt's good, but it's not clearly the best ...
It's then not general purpose when they have a specific purpose in mind. An allocator may be general purpose, but this is not the use case here.
It's called lockfree, because it doesn't lock threads in the classic sense, meaning, through library calls such as pthread_mutex_lock(), which you'll find in tcmalloc and jemalloc.
And I am calling it simple, because it doesn't come with autoconf configuration and consists of a single C file with a few headers. tcmalloc uncompressed is 6,160KB, jemalloc is 2,460KB and llmalloc is 180KB.
Comment
-
Originally posted by marek View PostYou'll only see the 10% reduction in compile time (= 11.1% improvement in compiler performance) with the GLSL compiler in Mesa. jemalloc is unlikely to make that big difference elsewhere.
Just guessing, as that seems similar what jemalloc do.
Comment
-
Interestingly, quite the opposite to what the many says, it is unused by firefox, i.e.
Code:% cat /proc/`pgrep firefox`/maps | grep malloc % cat /proc/`pgrep firefox`/maps | grep libc […] 7fcae5990000-7fcae5b25000 r-xp 00000000 08:07 2100391 /usr/lib/libc-2.24.so 7fcae5b25000-7fcae5d24000 ---p 00195000 08:07 2100391 /usr/lib/libc-2.24.so 7fcae5d24000-7fcae5d28000 r--p 00194000 08:07 2100391 /usr/lib/libc-2.24.so 7fcae5d28000-7fcae5d2a000 rw-p 00198000 08:07 2100391 /usr/lib/libc-2.24.so % pacman -Qi jemalloc | grep "Required By" Required By : mariadb mariadb-clients
Comment
-
Originally posted by Hi-Angel View PostInterestingly, quite the opposite to what the many says, it is unused by firefox, i.e.
Code:% cat /proc/`pgrep firefox`/maps | grep malloc % cat /proc/`pgrep firefox`/maps | grep libc […] 7fcae5990000-7fcae5b25000 r-xp 00000000 08:07 2100391 /usr/lib/libc-2.24.so 7fcae5b25000-7fcae5d24000 ---p 00195000 08:07 2100391 /usr/lib/libc-2.24.so 7fcae5d24000-7fcae5d28000 r--p 00194000 08:07 2100391 /usr/lib/libc-2.24.so 7fcae5d28000-7fcae5d2a000 rw-p 00198000 08:07 2100391 /usr/lib/libc-2.24.so % pacman -Qi jemalloc | grep "Required By" Required By : mariadb mariadb-clients
Code:(gdb) info symbol malloc malloc in section .text of /usr/lib/firefox/firefox
- Likes 1
Comment
Comment