Browse thread
[Caml-list] Stopping a value from getting GC'd
[
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: | skaller <skaller@u...> |
| Subject: | Re: [Caml-list] Cost of register_global_root (was: Stopping a value from getting GC'd) |
On Wed, 2005-08-17 at 23:57 -0400, Markus Mottl wrote: > On 8/17/05, Nathaniel Gray <n8gray@gmail.com> wrote: > > One thing that the FM doesn't mention is how expensive it is to > > register a global root. Can I register thousands of them or will > > there be performance problems? > > There is a severe performance penalty for registering many thousands > of roots as I have seen in one of our applications. AFAIK, they are > scanned at each minor collection. This will drive up CPU-usage even > if your program doesn't do much otherwise. Maybe the GC could be > improved in that area. Why not just put the pointers into a (reachable) hashtable? -- John Skaller <skaller at users dot sourceforge dot net>