-
Notifications
You must be signed in to change notification settings - Fork 279
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
[fix] #4082: Remove cloning for ISI and query execution in wasm #4182
[fix] #4082: Remove cloning for ISI and query execution in wasm #4182
Conversation
6645096
to
328b46c
Compare
328b46c
to
7955873
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like this change, often cloning could be avoided when doing serialization.
e059f67
to
c43a409
Compare
e5f062a
to
c09ebae
Compare
I kind of don't like how fragile this approach is: any mismatch between the If we decide to go the macro way we can either:
I think the second one will be easier to implement, especially seeing how heterogeneous the encode methods for instructions are due to different levels of nesting.. Another far-fetched idea w/o using macros is to somehow make instructions/queries cheaper to clone (for example, by moving out all the expensive objects like strings to arenas/bump allocators/...). I don't think those are worth the complexity they bring though. |
I don't think that could actually happen to us. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like it
11b11a5
to
25709a5
Compare
e28c6f8
to
fbf7c06
Compare
fbf7c06
to
827643e
Compare
2b2c6d6
to
5c1b523
Compare
5c1b523
to
45b2873
Compare
Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
Signed-off-by: Marin Veršić <marin.versic101@gmail.com>
45b2873
to
4e33466
Compare
Description
I left
Visit
trait to work with references and have removed redundant cloning through other means. One of the reasons why I left it is so that we can keep callingmem::forget
at the end of validation but also because it's just not necessary to take them by valueLinked issue
Closes #4082
Benefits
less cloning
Checklist
CONTRIBUTING.md