summaryrefslogtreecommitdiff
path: root/cli/graph_util.rs
diff options
context:
space:
mode:
authorNathan Whitaker <17734409+nathanwhit@users.noreply.github.com>2024-05-28 11:59:17 -0700
committerGitHub <noreply@github.com>2024-05-28 11:59:17 -0700
commit3e8f29ae4123abaddd9544a87e16448219fdd5f7 (patch)
tree767e5d66848aa675f79f4add980e5993a861f3b8 /cli/graph_util.rs
parent448fe67b7a2142f62332b651f9d215534dceb1f5 (diff)
perf(cli): Optimize setting up `node_modules` on macOS (#23980)
Hard linking (`linkat`) is ridiculously slow on mac. `copyfile` is better, but what's even faster is `clonefile`. It doesn't have the space savings that comes with hardlinking, but the performance difference is worth it imo. ``` ❯ hyperfine -i -p 'rm -rf node_modules/' '../../d7/target/release/deno cache npm:@11ty/eleventy' 'deno cache npm:@11ty/eleventy' Benchmark 1: ../../d7/target/release/deno cache npm:@11ty/eleventy Time (mean ± σ): 115.4 ms ± 1.2 ms [User: 27.2 ms, System: 87.3 ms] Range (min … max): 113.7 ms … 117.5 ms 10 runs Benchmark 2: deno cache npm:@11ty/eleventy Time (mean ± σ): 619.3 ms ± 6.4 ms [User: 34.3 ms, System: 575.6 ms] Range (min … max): 612.2 ms … 633.3 ms 10 runs Summary ../../d7/target/release/deno cache npm:@11ty/eleventy ran 5.37 ± 0.08 times faster than deno cache npm:@11ty/eleventy ```
Diffstat (limited to 'cli/graph_util.rs')
0 files changed, 0 insertions, 0 deletions