Browse thread
how to "disable" GC?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Eijiro Sumii <eijiro_sumii@a...> |
| Subject: | how to "disable" GC? |
Hello, I'm trying some very unfair:-) comparisons between OCaml and MinCaml (min-caml.sf.net), and wondering how to _disable_ GC in OCaml (on SPARC). I've tried setenv OCAMLRUNPARAM 's=1000000000,v=0x1ff' and its variants, but none of them seem to stop GC from happening - and once it happens, it's MUCH slower of course! By the way, the machine has 8GB main memory. So, my questions are: 1. How does the GC happen at all when the minor heap is so huge? The programs don't seem to use so much memory anyway... 2. Some programs get much slower for larger heaps, even though they don't seem to trigger any GC. An example is such programs is given below. Why is this? (There also exist programs that are not affected at all, so this is not because of the initialization overhead of the runtime system.) (**********************************************************************) let rec tak x y z = if y >= x then z else tak (tak (x -. 1.0) y z) (tak (y -. 1.0) z x) (tak (z -. 1.0) x y) in let n = 10.0 in print_int (int_of_float (1000000.0 *. tak (n *. 3.0) (n *. 2.0) (n *. 1.0))); print_newline () (**********************************************************************) Thanks in advance, -- Eijiro Sumii (http://www.cis.upenn.edu/~sumii/) Department of Computer and Information Science, University of Pennsylvania