deno/cli/tools
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
..
coverage perf(core) Reduce script name and script code copies (#18298) 2023-03-21 22:33:12 +00:00
init chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
repl refactor(ext/node): untangle dependencies between js files (#18284) 2023-03-20 14:05:13 -04:00
vendor feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
bench.rs feat(core) deno_core::extension! macro to simplify extension registration (#18210) 2023-03-17 18:22:15 +00:00
bundle.rs feat(compile): Enable multiple roots for a standalone module graph (#17663) 2023-03-19 00:43:07 +01:00
check.rs perf(check): type check local files only when not using --all (#18329) 2023-03-21 18:19:42 -04:00
doc.rs refactor(core): resolve_url_or_path and resolve_url_or_path_deprecated (#18170) 2023-03-14 01:12:09 +00:00
fmt.rs chore: upgrade to Rust 1.67 (#17548) 2023-01-27 10:43:16 -05:00
info.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
installer.rs refactor(core): resolve_url_or_path and resolve_url_or_path_deprecated (#18170) 2023-03-14 01:12:09 +00:00
lint.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
mod.rs chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
run.rs refactor: --watch commands use deno_core::resolve_url_or_path (#18172) 2023-03-14 02:44:16 +00:00
standalone.rs feat(compile): Enable multiple roots for a standalone module graph (#17663) 2023-03-19 00:43:07 +01:00
task.rs fix: lazily surface errors in package.json deps parsing (#17974) 2023-03-03 18:27:05 -04:00
test.rs feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
upgrade.rs perf: do not depend on iana-time-zone (#18088) 2023-03-15 07:14:22 +00:00