diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-03-18 07:51:21 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-18 12:51:21 +0100 |
commit | 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4 (patch) | |
tree | 881e33653a99f51a29b4174362c5d19967600950 /runtime/ops/runtime.rs | |
parent | 9bfa8dc90c5d1cf78abd9ee704295bc0bb2b643c (diff) |
perf(core): preserve ops between snapshots (#18080)
This commit changes the build process in a way that preserves already
registered ops in the snapshot. This allows us to skip creating hundreds of
"v8::String" on each startup, but sadly there is still some op registration
going on startup (however we're registering 49 ops instead of >200 ops).
This situation could be further improved, by moving some of the ops
from "runtime/" to a separate extension crates.
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
Diffstat (limited to 'runtime/ops/runtime.rs')
-rw-r--r-- | runtime/ops/runtime.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/runtime/ops/runtime.rs b/runtime/ops/runtime.rs index a77e888c8..8802f9cd6 100644 --- a/runtime/ops/runtime.rs +++ b/runtime/ops/runtime.rs @@ -12,7 +12,10 @@ deno_core::extension!( options = { main_module: ModuleSpecifier }, state = |state, options| { state.put::<ModuleSpecifier>(options.main_module); - } + }, + customizer = |ext: &mut deno_core::ExtensionBuilder| { + ext.force_op_registration(); + }, ); #[op] |