[Rd] Help to create bugzilla account

Dmitriy Selivanov selivanov.dmitriy at gmail.com
Sat Sep 23 14:56:51 CEST 2017


I've created repo with initial investigation -
https://github.com/dselivanov/r-malloc/blob/master/README.md. At first
glance it seems jemalloc, tcmalloc, glibc with malloc_trim all work better
than default malloc with glibc. Interesting thing is that glibc with
malloc_trim finishes benchmark a bit faster than vanilla glibc (I've
checked several times - result is consistent).
Another observation is that with jemalloc virtual memory grows much faster
than with tcmalloc or glibc malloc (this could be an issue for those who
limit process memory with `ulimit`).

2017-08-14 6:16 GMT+04:00 Steve Grubb <sgrubb at redhat.com>:

> On Saturday, August 12, 2017 5:36:36 PM EDT Dirk Eddelbuettel wrote:
> > On 12 August 2017 at 15:10, luke-tierney at uiowa.edu wrote:
> > | As the Python posts poitns out, it is possible to use alternate malloc
> > | implementations, either rebuilding R to use them or using LD_PRELOAD.
> > | On Ubuntu for example, you can have R use jemalloc with
> > |
> > | sudo apt-get install libjemalloc1
> > | env LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1 R
> > |
> > | This does not seem to hold onto memory to the same degree, but I don't
> > | know about any other aspect of its performance.
> >
> > Interesting.
> >
> > I don't really know anything about malloc versus jemalloc internals but I
> > can affirm that redis -- an in-memory database written in
> single-threaded C
> > for high performance -- in its Debian builds has been using jemalloc for
> > years, presumably by choice of the maintainer. (We are very happy users
> of
> > [a gently patched] redis at work; lots of writes; very good uptime.)
> >
> > Having the ability to switch to jemalloc, we could design a test bench
> and
> > compare what the impact is.
> >
> > Similarly, if someone cared, I could (presumably) alter the default R
> build
> > for Debian and Ubunto to also switch to jemalloc.
>
> Depending on how this turns out, Fedora, RHEL, Centos also have jemalloc
> and
> tcmalloc. Meaning, if its good on those two, its good on Linux in general.
> Basically, jemalloc is faster for many work loads but its harder to spot
> problems. Glibc is better at spotting memory bugs but not as fast.
>
> -Steve
>
> > Anybody feel like doing some empirics?
> >
> > Dirk
>
>
>


-- 
Regards
Dmitriy Selivanov

	[[alternative HTML version deleted]]



More information about the R-devel mailing list