[MLton-devel] mremap() in MLton
jlouis@diku.dk
jlouis@diku.dk
Thu, 19 Sep 2002 23:10:53 +0200
On Thu, Sep 19, 2002 at 01:00:48PM -0700, Stephen Weeks wrote:
>
> > It amazes me. I have always found FreeBSD to be at level with Linux when
> > it comes to raw performance. The absence of mremap is a design choice as
> > far as I know.
>
> We use mremap to grow the heap. On platforms that don't have it, we
> mmap a new larger space, copy the heap there, and then update all the
> pointers. This is obviously a lot slower, and incurs additional
> zeroing costs.
>
That implies one big heap. It will get very big indeed. Any
reason for not splitting it into smaller parts? OCaml does this from
what I could see with a quick glance through their source. Anyway it
requires rewriting the GC. And we all know that is a hard and touchy
point.
Have it been discussed how to utilize the cache correctly (when copying
generations, storing them in the cache purges the program, resulting in
a lot of misses afterwards...)? Using a call as madvise() would hint at
least the VM of the state of the memory.
--
Jesper
OP == Obscure programming == C++
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel