-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
feat: Minimal op registration in isolate #3002
Conversation
ff158ce
to
1aad30a
Compare
|
Do you have the comparison with the master branch? |
That's a nice speed up in req/secs, but latency is slightly worse. |
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.
Looks good! This is what I had in mind :)
8236256
to
e33d050
Compare
32f66da
to
94c3bdb
Compare
5436220
to
8e720ee
Compare
Bartek - proxies shouldn’t be involved - they may kick us out of optimizations. I guess that Deno.ops[“foo”] should be an explicit function call instead. Maybe Deno.ops.get(“foo”)? |
Aaaah I was worried that's not the best solution. Yes, EDIT: Although I'm not quite convinced it should be |
81f2d2b
to
3649445
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.
LGTM
Nice work! Let’s watch to see how this effects the benchmarks of deno_core_single and deno_core_multi
Towards #2987
This PR introduces
OpRegistry
structure inIsolate
.OpRegistry
collectsOpHandlers
which are functions returningCoreOp
.This can be safely introduced to work with
deno_cli
because if you set dispatch manually viaset_dispatch
then ops registered on isolate are ignored.I still have to get op id forwarding to JS.CC @ry @piscisaureus