PR# 13857 Use libumem memory allocation library on Solaris

Problem Report Summary
Submitter: prestoat2000
Category: Runtime
Priority: Medium
Date: 2008/01/05
Class: Feature Request
Severity: Serious
Number: 13857
Release: 6.2.71782
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.9) Gecko/20071111 Firefox/2.0.0.9 Solaris 9 on SPARC
Synopsis: Use libumem memory allocation library on Solaris

Description
Please consider using the libumem memory allocation library instead of
traditional malloc on the Solaris platform.  Malloc has a MT level of Safe,
meaning it is safe for multithreaded applications but provides no significant
concurrency.  As the man page says

     These default memory allocation routines are safe for use in
     multithreaded  applications but are not scalable. Concurrent
     accesses by multiple threads are single-threaded through the
     use  of  a single lock. Multithreaded applications that make
     heavy use of dynamic memory allocation should be linked with
     allocation libraries designed for concurrent access, such as
     libumem(3LIB) or libmtmalloc(3LIB).

It might also be faster for non-MT applications (not sure).  It would certainly
be worth a try and should be easy since most (but not all) memory allocation
goes through the wrapper routines in lmalloc.c.

For more info

     man umem_alloc

Since libumem is part of Solaris and is open source, it was recently ported
to Windows and Linux systems.  See

     https://labs.omniti.com/trac/portableumem

Don't know if it is reliable on non-Solaris platforms.
To Reproduce

										
Problem Report Interactions