Henrik Nordström wrote:
fre 2010-05-28 klockan 17:08 +1200 skrev Amos Jeffries:

<snip>

On other slightly related memory issues... some users who need good malloc have been trying to build squid with talloc or the google malloc implementation. I'd like to see such alternative allocators easy to plug in. If it already is that way then we lack documentation about how to do it.

Properly using talloc could bring some interesting effects, but that's
another project in itself. tallock !== a malloc replacement, instead
talloc uses a slightly different approach to memory management.

Doing my homework after the fact, I find that what I was talking about was tcmalloc and jemalloc.

But yes.


Google malloc should plug right in as a malloc replacement by just
adding -ltcmalloc or by using LD_PRELOAD when starting the binary. And
it's design practically eliminates heap fragmentation. With tcmalloc
(google-perftools) already packaged for a number of distributions this
should be an easy switch.


Hmm, being drop-in. Then this would be all that is needed adding to configure.in yes?

  AC_SEARCH_LIBS([malloc],[tcmalloc gnumalloc malloc])

A few minutes searching for benchmarks got me this list of libraries maybe useful in that search list (ordered according to their speed benchmarks):

  tcmalloc
  jemalloc
  ptmalloc3
  nedmalloc
  ptmalloc2
  malloc

* tcmalloc seems to be faster for smaller sized allocations but otherwise on par with jemalloc.

Some others I could not find easy benchmarks on:
  gnumalloc
  dlmalloc
  phkmalloc
  c

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.3

Reply via email to