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

[PERF] Share Liberally During Execution #79

Closed
4 tasks
iamrecursion opened this issue Sep 11, 2023 · 0 comments · Fixed by #96
Closed
4 tasks

[PERF] Share Liberally During Execution #79

iamrecursion opened this issue Sep 11, 2023 · 0 comments · Fixed by #96
Labels
enhancement New feature or request

Comments

@iamrecursion
Copy link
Contributor

Description

Currently execution makes heavy use of cloning values when performing memory and storage modification operations in the virtual machine. As these values are always structurally identical, there is an opportunity for us to decrease memory usage and decrease time spent doing allocations by sharing these notes in the tree as well.

We also have a potential opportunity for some (albeit less) sharing in the tree structures during inference. Certain trees are stably typed, which means they do have exactly the same structure. These, too, can be shared.

Spec

  • Work out the changes needed to share at runtime.
  • Add support for sharing during the VM's execution.
  • Change the conversion from RSV to TCSV to deep clone everything.
  • Add support for sharing in the type checker.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant