deno_core
deno_core copied to clipboard
Async op performance roadmap
Phase 1:
- [x] unrefOp -> unrefPromise to avoid complex accounting
- [x] Replace old op tracker with new tracker (#295)
- [x] Skip scope for op dispatch where possible (we have a new, faster isolate-only function caller for dispatch in rusty_v8)
- [x] Remove event middlewares entirely from event loop when not used
- [x] Modules should use promise callbacks instead of polling
- [ ] ~Replace boolean
EventLoopPendingState
with "global" counters for faster eval~ (probably won't need to happen - we can skip to wakers) - [ ] Re-implement JoinSet on a single task, with a poll_with_scope function to extract one finished op result
- [ ] Replace timers with deno_core timers
- [ ] Replace op/resource/timer sanitization with deno_core Rust implementation
Phase 2:
- [ ] Implement rusty_v8 custom platform to allow us to control task scheduling
- [ ] Switch event loop to be entirely waker-based
- [ ] Split realm polling from runtime polling