1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/ext
Matt Mastracci 0b4770fa7d
perf(core) Reduce script name and script code copies (#18298)
Reduce the number of copies and allocations of script code by carrying
around ownership/reference information from creation time.

As an advantage, this allows us to maintain the identity of `&'static
str`-based scripts and use v8's external 1-byte strings (to avoid
incorrectly passing non-ASCII strings, debug `assert!`s gate all string
reference paths).

Benchmark results:

Perf improvements -- ~0.1 - 0.2ms faster, but should reduce garbage
w/external strings and reduces data copies overall. May also unlock some
more interesting optimizations in the future.

This requires adding some generics to functions, but manual
monomorphization has been applied (outer/inner function) to avoid code
bloat.
2023-03-21 22:33:12 +00:00
..
broadcast_channel perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00
cache perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00
console chore(ext/console): inspect anonymous function as [Function (anonymous)] (#18283) 2023-03-21 13:12:13 +09:00
crypto perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00
fetch perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00
ffi perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00
flash chore: bump http to ^0.29.0 (#18259) 2023-03-19 00:34:56 +00:00
fs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
http feat(core) deno_core::extension! macro to simplify extension registration (#18210) 2023-03-17 18:22:15 +00:00
io perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00
napi feat(core) deno_core::extension! macro to simplify extension registration (#18210) 2023-03-17 18:22:15 +00:00
net feat(ext/net): Add multicasting APIs to DatagramConn (#10706) (#17811) 2023-03-20 22:27:00 +01:00
node perf(core) Reduce script name and script code copies (#18298) 2023-03-21 22:33:12 +00:00
tls feat(core) deno_core::extension! macro to simplify extension registration (#18210) 2023-03-17 18:22:15 +00:00
url perf(core): use static specifier in ExtensionFileSource (#18271) 2023-03-18 20:09:13 +00:00
web perf(core): use static specifier in ExtensionFileSource (#18271) 2023-03-18 20:09:13 +00:00
webidl perf(core): use static specifier in ExtensionFileSource (#18271) 2023-03-18 20:09:13 +00:00
websocket chore: bump http to ^0.29.0 (#18259) 2023-03-19 00:34:56 +00:00
webstorage perf(core) Reduce copying and cloning in extension initialization (#18252) 2023-03-17 22:15:27 +00:00