Browse thread
[Caml-list] GC and caml_oldify_local_roots taking too much time
[
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: | Damien Doligez <damien.doligez@i...> |
| Subject: | Re: [Caml-list] GC and caml_oldify_local_roots taking too much time |
On Jul 19, 2004, at 19:59, Christophe Raffalli wrote: > What could cause the increase of time spent in caml_oldify_local_roots > ? > And what is this function in the first place ? It is the function that finds the roots of the memory graph: 1. in the stack 2. in the global C roots 3. among finalised values 4. in the stacks of other threads, if any I guess your program does one or more of the following: 1. allocate lots of stack space (deep recursion) 2. declare lots of C roots (with caml_register_global_root) 3. launch lots of threads that allocate big stacks I don't think finalised values can be the problem, because this particular set of roots is emptied after each minor collection. It should be possible to do something better for case (2), but if you declare arbitrary amounts of C roots, you will still pay the price at each major collection (instead of each minor collection as it is now). -- Damien ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners