David Brown wrote:
The thing is, _all_ memory managers used on linux, including malloc,
request memory from the OS in much larger chunks than the user requests.
Syscalls are more expensive than manipulating a few pointers, so it's
better to reduce the number of syscalls.

That is true. However, if memory allocation efficiency matters, you request a big hunk once and do it yourself.

IIRC, Firefox is changing over to doing that along with garbage collecting their own objects.

Most lisp systems request enormous amounts of memory from the system, but
only make use of the memory that they need.  It's kind of annoying because
the virtual memory used isn't meaningful.  Clozure Common Lisp requests
512GB, and SBCL requests 8GB.  But, configuring the OS to force these
allocations to get real memory would prevent either from running.

*blink*  Okay, that's just *broken*.  Way broken.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474402
This is no new behaviour of SBCL, and rather a implementation limitation
than a bug. SBCL needs to reserve a fixed contiguous address space for
its GC-managed memory.

And known broken.  Bad GC implementation.

-a


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to