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>
This commit is contained in:
Bartek Iwańczuk 2023-03-18 07:51:21 -04:00 committed by GitHub
parent 9bfa8dc90c
commit 4b6305f4f2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
54 changed files with 278 additions and 125 deletions

View file

@ -31,7 +31,10 @@ use tokio::signal::windows::CtrlC;
deno_core::extension!(
deno_signal,
ops = [op_signal_bind, op_signal_unbind, op_signal_poll]
ops = [op_signal_bind, op_signal_unbind, op_signal_poll],
customizer = |ext: &mut deno_core::ExtensionBuilder| {
ext.force_op_registration();
},
);
#[cfg(unix)]