summaryrefslogtreecommitdiff
path: root/cli/build.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-03-21 20:11:22 +0100
committerGitHub <noreply@github.com>2023-03-21 19:11:22 +0000
commitcc46f6776c80ddb9320487e21ec479db0e59d270 (patch)
treeab8809beccd71e5c009fd8a0ea059882cee5be6e /cli/build.rs
parenta561cc28cd59b51846fce9a9de598e2fd6e9b54e (diff)
Revert "perf: disable TSC snapshot compression (#18333)" (#18336)
This reverts commit 0d27de943a60f5ca60e2116648719c235163361a.
Diffstat (limited to 'cli/build.rs')
-rw-r--r--cli/build.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/cli/build.rs b/cli/build.rs
index 251b30de2..ecd7ed1be 100644
--- a/cli/build.rs
+++ b/cli/build.rs
@@ -270,7 +270,22 @@ mod ts {
build_libs,
path_dts,
)],
+
+ // NOTE(bartlomieju): Compressing the TSC snapshot in debug build took
+ // ~45s on M1 MacBook Pro; without compression it took ~1s.
+ // Thus we're not not using compressed snapshot, trading off
+ // a lot of build time for some startup time in debug build.
+ #[cfg(debug_assertions)]
compression_cb: None,
+
+ #[cfg(not(debug_assertions))]
+ compression_cb: Some(Box::new(|vec, snapshot_slice| {
+ eprintln!("Compressing TSC snapshot...");
+ vec.extend_from_slice(
+ &zstd::bulk::compress(snapshot_slice, 22)
+ .expect("snapshot compression failed"),
+ );
+ })),
snapshot_module_load_cb: None,
});
}