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

Enable GC at the "top level" #115

Open
shwestrick opened this issue Feb 24, 2020 · 1 comment
Open

Enable GC at the "top level" #115

shwestrick opened this issue Feb 24, 2020 · 1 comment

Comments

@shwestrick
Copy link
Collaborator

MPL currently avoids GC at the "top level" (i.e., outside any calls to par) because these collections typically interfere with parallelism. So far, for parallel programs, this hasn't been too much of a problem. But for sequential programs, this is obviously broken.

It's not hard to work around this issue by running the program inside an outermost par (see e.g. #112), but of course it would be nice if we didn't have to use such a workaround.

@shwestrick
Copy link
Collaborator Author

shwestrick commented Feb 24, 2020

Note also that currently the GC is disabled until the scheduler boots up (i.e. it is disabled until $(SML_LIB)/basis/fork-join.mlb is loaded). Ideally, this initial part of the program should still be GC'ed with a simple sequential algorithm.

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

No branches or pull requests

1 participant