mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 19:08:15 +00:00
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:
parent
9bfa8dc90c
commit
4b6305f4f2
54 changed files with 278 additions and 125 deletions
|
@ -145,6 +145,7 @@ impl Op {
|
|||
is_async: #is_async,
|
||||
is_unstable: #is_unstable,
|
||||
is_v8: #is_v8,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -201,6 +202,7 @@ impl Op {
|
|||
is_async: #is_async,
|
||||
is_unstable: #is_unstable,
|
||||
is_v8: #is_v8,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_void_async {
|
|||
is_async: true,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_async_result {
|
|||
is_async: true,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_fallback {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_cow_str {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_f64_buf {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_sync_serialize_object_with_numbers_as_keys {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl send_stdin {
|
|||
is_async: true,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl send_stdin {
|
|||
is_async: true,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_blob_revoke_object_url {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_ffi_ptr_value {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_print {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_set_exit_code {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl foo {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -32,6 +32,7 @@ impl op_foo {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl foo {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_listen {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -32,6 +32,7 @@ impl op_now {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_add_4 {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_try_close {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_string_length {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_read_sync {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -32,6 +32,7 @@ impl op_ffi_ptr_of {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_is_proxy {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_string_length {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_string_length {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -22,6 +22,7 @@ impl op_bench_now {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_import_spki_x25519 {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_unit_result {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_set_nodelay {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_unit {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
|
@ -26,6 +26,7 @@ impl op_wasm {
|
|||
is_async: false,
|
||||
is_unstable: false,
|
||||
is_v8: false,
|
||||
force_registration: false,
|
||||
}
|
||||
}
|
||||
#[inline]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue