1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-24 08:09:08 -05:00
denoland-deno/ext
Matt Mastracci 851e08bd1f 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-21 18:23:27 +05:30
..
broadcast_channel 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
cache 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
console 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
crypto 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
fetch perf(ext/node): optimize http headers (#20163) 2023-08-21 18:23:27 +05:30
ffi 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
fs 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
http perf(http): use Cow<[u8]> for setting header (#20112) 2023-08-21 18:23:27 +05:30
io chore: deno_core -> 0.201.0 (#20135) 2023-08-21 18:23:27 +05:30
kv 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
napi 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
net fix(ext/net): implement a graceful error on an invalid SSL certificate (#20157) 2023-08-21 18:23:27 +05:30
node feat(ext/node): eagerly bootstrap node (#20153) 2023-08-21 18:23:27 +05:30
tls 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
url 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
web fix(ext/fetch): clone second branch chunks in Body.clone() (#20057) 2023-08-21 18:23:27 +05:30
webidl 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
websocket 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30
webstorage 1.36.1 (#20221) 2023-08-21 18:08:38 +05:30