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