1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/ext/node
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
..
crypto fix(ext/node): add createDecipheriv (#18245) 2023-03-18 21:51:28 +09:00
polyfills refactor(ext/node): untangle dependencies between js files (#18284) 2023-03-20 14:05:13 -04:00
Cargo.toml chore: forward v1.31.3 release commit to main (#18222) 2023-03-16 17:09:26 +09:00
errors.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
idna.rs refactor: use ops for idna & punycode (#17817) 2023-02-20 18:47:42 +01:00
lib.rs perf(core) Reduce script name and script code copies (#18298) 2023-03-21 22:33:12 +00:00
ops.rs refactor(core): pass cwd explicitly to resolve_path (#18092) 2023-03-13 18:50:23 +01:00
package_json.rs feat(npm): support bare specifiers from package.json in more subcommands and language server (#17891) 2023-02-23 10:58:10 -05:00
path.rs chore(ext/node): fix variable name (#17948) 2023-02-27 21:26:02 +01:00
polyfill.rs refactor(ext/node): untangle dependencies between js files (#18284) 2023-03-20 14:05:13 -04:00
README.md chore(ext/node): correct publishing for ext/node (#15461) 2022-08-11 17:25:41 -04:00
resolution.rs refactor: simplify to string calls (#18011) 2023-03-04 08:05:07 -04:00
v8.rs feat(ext/node): implement node:v8 (#17806) 2023-02-17 18:48:09 +05:30
winerror.rs perf(ext/node): move winerror binding to rust (#17792) 2023-02-16 19:19:32 +05:30

deno_node

require and other node related functionality for Deno.