WL#3661: Investigate TCMalloc as an alternative to malloc

Affects: Server-7.1   —   Status: Un-Assigned   —   Priority: Medium

Suggestion from the 2006-12-21 bug priority review meeting:
Google has provided their TCMalloc functionality with BSD license. We should 
consider it seriously and link with it on all *nix systems. This library would 
bring lots of benefits, like much faster alloc / free, lesser overhead, smaller
memory footprint, fine leak checking, etc. Look here:
http://goog-perftools.sourceforge.net/doc/tcmalloc.html

Result of discussion:
Agreed this bears investigating by Omer and Mads Martin.

See also WL#1289 Benchmark Different memory allocators on SMP
See also WL#3021 Use a lock-free memory allocator

Note added by Trudy Pelzer, 2006-12-22:
Mads Martin Joergensen found the following quote from the TCMalloc
page:
"For some systems, TCMalloc may not work correctly on with  
applications that aren't linked against libpthread.so (or the  
equivalent on your OS). It should work on Linux using glibc 2.3, 
but other OS/libc combinations have not been tested."

Feature Requests:
BUG#25244 Consider compiling MySQL Server against the Google TCMalloc library

dev-public discussion thread (Chad, Peter, Sinisa) (November 2007):
https://intranet.mysql.com/secure/mailarchive/mail.php?folder=5&mail=69710

References:

"TCMalloc : Thread-Caching Malloc"
http://goog-perftools.sourceforge.net/doc/tcmalloc.html

Home page of google-perftools:
http://code.google.com/p/google-perftools/

Domas Mituzas blog posting:
http://dammit.lt/2006/12/06/google-perftools-tcmalloc-squid/

Benchmark Comparisons versus hoard or Streamflow:
http://www4.osnews.com/comments/17977
http://www.highlandsun.com/hyc/malloc/
http://inf-server.inf.uth.gr/~cda/ismm06.pdf

"MySQL 5.1 Memory Allocator Bake-Off" (blog posting by Tim Cook)
http://blogs.sun.com/timc/entry/mysql_5_1_memory_allocator