perf: lazily retrieve ppid (#18940)

This is very apparent on Windows.

Before: 45.74ms (Hello world)
After: 33.92ms

Closes #18939
This commit is contained in:
David Sherret 2023-05-01 14:21:27 -04:00 committed by GitHub
parent dcf391ffed
commit 30628288ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 28 deletions

View file

@ -5,7 +5,6 @@ use deno_core::ModuleSpecifier;
use std::thread;
use crate::colors;
use crate::ops::runtime::ppid;
/// Common bootstrap options for MainWorker & WebWorker
#[derive(Clone)]
@ -61,7 +60,7 @@ impl BootstrapOptions {
&self,
scope: &mut v8::HandleScope<'s>,
) -> v8::Local<'s, v8::Array> {
let array = v8::Array::new(scope, 17);
let array = v8::Array::new(scope, 16);
{
let args = v8::Array::new(scope, self.args.len() as i32);
@ -142,18 +141,13 @@ impl BootstrapOptions {
array.set_index(scope, 10, val.into());
}
{
let val = v8::Integer::new(scope, ppid() as i32);
array.set_index(scope, 11, val.into());
}
{
let val = v8::String::new_external_onebyte_static(
scope,
env!("TARGET").as_bytes(),
)
.unwrap();
array.set_index(scope, 12, val.into());
array.set_index(scope, 11, val.into());
}
{
@ -163,7 +157,7 @@ impl BootstrapOptions {
v8::NewStringType::Normal,
)
.unwrap();
array.set_index(scope, 13, val.into());
array.set_index(scope, 12, val.into());
}
{
@ -173,17 +167,17 @@ impl BootstrapOptions {
v8::NewStringType::Normal,
)
.unwrap();
array.set_index(scope, 14, val.into());
array.set_index(scope, 13, val.into());
}
{
let val = v8::Boolean::new(scope, self.inspect);
array.set_index(scope, 15, val.into());
array.set_index(scope, 14, val.into());
}
{
let val = v8::Boolean::new(scope, self.enable_testing_features);
array.set_index(scope, 16, val.into());
array.set_index(scope, 15, val.into());
}
array