mirror of
https://github.com/denoland/deno
synced 2024-08-24 18:47:06 +00:00
![Bartek Iwańczuk](/assets/img/avatar_default.png)
This commit removes compression for the runtime JS code.
It means that we will have a bigger binary, but faster startup. After
several discussion in the CLI team we decided it's worth to trade
about 3Mb of binary size for 2ms faster startup time. With WebGPU
removed in 35196eab27
it shouldn't have such a big impact on the binary size.
37 lines
833 B
Rust
37 lines
833 B
Rust
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
|
|
|
use deno_core::Snapshot;
|
|
use log::debug;
|
|
|
|
static CLI_SNAPSHOT: &[u8] =
|
|
include_bytes!(concat!(env!("OUT_DIR"), "/CLI_SNAPSHOT.bin"));
|
|
|
|
pub fn deno_isolate_init() -> Snapshot {
|
|
debug!("Deno isolate init with snapshots.");
|
|
Snapshot::Static(CLI_SNAPSHOT)
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn runtime_snapshot() {
|
|
let mut js_runtime = deno_core::JsRuntime::new(deno_core::RuntimeOptions {
|
|
startup_snapshot: Some(deno_isolate_init()),
|
|
..Default::default()
|
|
});
|
|
js_runtime
|
|
.execute_script(
|
|
"<anon>",
|
|
r#"
|
|
if (!(bootstrap.mainRuntime && bootstrap.workerRuntime)) {
|
|
throw Error("bad");
|
|
}
|
|
console.log("we have console.log!!!");
|
|
"#,
|
|
)
|
|
.unwrap();
|
|
}
|
|
}
|