1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-29 16:30:56 -05:00
denoland-deno/runtime/ops
Matt Mastracci 4380a09a05
feat(ext/node): eagerly bootstrap node (#20153)
To fix bugs around detection of when node emulation is required, we will
just eagerly initialize it. The improvements we make to reduce the
impact of the startup time:

 - [x] Process stdin/stdout/stderr are lazily created
 - [x] node.js global proxy no longer allocates on each access check
- [x] Process checks for `beforeExit` listeners before doing expensive
shutdown work
- [x] Process should avoid adding global event handlers until listeners
are added

Benchmarking this PR (`89de7e1ff`) vs main (`41cad2179`)

```
12:36 $ third_party/prebuilt/mac/hyperfine --warmup 100 -S none './deno-41cad2179 run ./empty.js' './deno-89de7e1ff run ./empty.js'
Benchmark 1: ./deno-41cad2179 run ./empty.js
  Time (mean ± σ):      24.3 ms ±   1.6 ms    [User: 16.2 ms, System: 6.0 ms]
  Range (min … max):    21.1 ms …  29.1 ms    115 runs
 
Benchmark 2: ./deno-89de7e1ff run ./empty.js
  Time (mean ± σ):      24.0 ms ±   1.4 ms    [User: 16.3 ms, System: 5.6 ms]
  Range (min … max):    21.3 ms …  28.6 ms    126 runs
```

Fixes https://github.com/denoland/deno/issues/20142
Fixes https://github.com/denoland/deno/issues/15826
Fixes https://github.com/denoland/deno/issues/20028
2023-08-16 04:36:36 +09:00
..
os feat(runtime): sys_info.rs - Use KERN_OSRELEASE on {Free,Open}BSD (#19849) 2023-07-22 05:50:57 +02:00
web_worker Reland "fix(cli): don't store blob and data urls in the module cache" (#18581) 2023-07-02 00:52:30 +02:00
fs_events.rs refactor(core): remove force_op_registration and cleanup JsRuntimeForSnapshot (#19353) 2023-06-03 14:22:32 -06:00
http.rs refactor(serde_v8): split ZeroCopyBuf into JsBuffer and ToJsBuffer (#19566) 2023-06-22 23:37:56 +02:00
mod.rs refactor: Add "deno_fs" extension crate (#18040) 2023-03-07 18:13:44 +09:00
permissions.rs feat(permissions): add "--deny-*" flags (#19070) 2023-08-03 13:19:19 +02:00
process.rs fix(runtime): print process name in case of spawn error (#19855) 2023-07-19 01:24:30 +02:00
runtime.rs chore: fix typos (#19572) 2023-06-26 09:10:27 -04:00
signal.rs feat: Adaptations to support OpenBSD port (#19153) 2023-06-12 13:14:27 +03:00
tty.rs chore: fix windows clippy errors (#20014) 2023-08-01 23:30:19 +02:00
utils.rs refactor: move TaskQueue from deno_runtime to deno_core (#18016) 2023-03-05 00:10:31 +00:00
web_worker.rs refactor(core): remove force_op_registration and cleanup JsRuntimeForSnapshot (#19353) 2023-06-03 14:22:32 -06:00
worker_host.rs feat(ext/node): eagerly bootstrap node (#20153) 2023-08-16 04:36:36 +09:00