Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reduce performance punishment for gloabel C roots in minor collections #4145

Closed
vicuna opened this issue Oct 27, 2006 · 1 comment
Closed

Comments

@vicuna
Copy link

vicuna commented Oct 27, 2006

Original bug ID: 4145
Reporter: Hendrik Tews
Status: closed (set by @damiendoligez on 2006-11-15T12:19:42Z)
Resolution: not fixable
Priority: normal
Severity: feature
Version: 3.09.3
Category: ~DO NOT USE (was: OCaml general)
Monitored by: "Hendrik Tews"

Bug description

caml_oldify_local_roots scans all global C roots at each minor
collection, even if the corresponding data has long been moved to
the major heap. Combined with the small default for minor heap
this gives a big performance hit on programs with lots (~10**6)
of global C roots.

The feature wish is to let caml_oldify_local_roots only scan
roots that point into the minor heap.

Additional information

see ocaml list threads
http://caml.inria.fr/pub/ml-archives/caml-list/2004/07/84cd291931627c13faf56a259026885c.en.html
http://caml.inria.fr/pub/ml-archives/caml-list/2006/10/93f3eece137374dc6f2b3b5149f8ecab.en.html

@vicuna
Copy link
Author

vicuna commented Nov 15, 2006

Comment author: @damiendoligez

Unfortunately, we cannot know which global C roots point to the minor heap, since we don't have a write barrier on C variables.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant