[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