-
Notifications
You must be signed in to change notification settings - Fork 6
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
GC Parallel Sweeping #45
base: master
Are you sure you want to change the base?
Conversation
feat: more trait impls for `Gc<T>`
Here are the benchmark results for AST interpreter
Bytecode interpreter
|
The idea for this PR came to me after realising that, technically, deallocating values is a pure waste of time for the interpreter, and doesn't affect any of its computations.
So this PR adds a new dedicated thread, maintained by the GC heap, that is dedicated to being sent the dead objects identified by the GC and deallocate them there, instead than on the main interpreter thread, in the hope that it then allows the interpreter to resume its work sooner.
I am unsure at the present moment on whether this is a performance improvement or not.
Depends on #33.