next.js
5f0adad6 - chore(turbopack): Update dashmap from 5.x to 6.x (#72433)

Commit
1 year ago
chore(turbopack): Update dashmap from 5.x to 6.x (#72433) Dashmap 6.x claims fairly large performance improvements: > This release contains performance optimizations, most notably 10-40% gains on Apple Silicon but also 5-10% gains when measured in Intel Sapphire Rapids. -- https://github.com/xacrimon/dashmap/releases/tag/v6.0.0 I don't think this means too much for us because while `turbo-tasks` uses dashmap pretty heavily, we spend more time actually doing computations than in `turbo-tasks`, so it's a fraction of a fraction. Still, here's a fairly unscientific (noisy environment, inside a VM) benchmark on my macbook using a microbenchmark that's designed to hit `turbo-tasks` extremely hard (much more so than would happen in realistic scenarios): ``` $ TURBOPACK_BENCH_STRESS=yes cargo bench -p turbo-tasks-memory -- fibonacci/200 Compiling turbo-tasks-memory v0.1.0 (/home/bgw.linux/next.js/turbopack/crates/turbo-tasks-memory) Finished `bench` profile [optimized] target(s) in 2.80s Running benches/mod.rs (target/release/deps/mod-7b9a423ac1e10dce) Gnuplot not found, using plotters backend Benchmarking turbo_tasks_memory_stress/fibonacci/200: Warming up for 3.0000 s Warning: Unable to complete 2000 samples in 5.0s. You may wish to increase target time to 91.9s, or reduce sample count to 100. turbo_tasks_memory_stress/fibonacci/200 time: [33.008 ms 33.108 ms 33.208 ms] thrpt: [605.31 Kelem/s 607.13 Kelem/s 608.97 Kelem/s] change: time: [-2.0573% -1.6309% -1.2221%] (p = 0.00 < 0.05) thrpt: [+1.2373% +1.6580% +2.1005%] Performance has improved. Found 44 outliers among 2000 measurements (2.20%) 2 (0.10%) low mild 38 (1.90%) high mild 4 (0.20%) high severe ``` Any potential improvement to realistic topline numbers are going to be <1% and thus too small to measure (especially since I don't have a low-noise way of measuring Apple Silicon where most of the benefits supposedly are, only x86-64). Closes PACK-3411
Author
bgw bgw
Parents
Loading