rust-lang/rust-analyzer

Benchmark with different allocators

Open

#1,441 opened on Jun 26, 2019

View on GitHub
 (8 comments) (2 reactions) (0 assignees)Rust (1,726 forks)batch import
E-hardfungood first issue

Repository metrics

Stars
 (14,924 stars)
PR merge metrics
 (Avg merge 4d 22h) (101 merged PRs in 30d)

Description

The recent paper about https://github.com/microsoft/mimalloc sounds too good to be true.

It might be a good idea to compare different allocators to see if there are some memory usage wins to have. Better perf would also be helpful, but memory usage is the most important thing

Here's the couple of benchmarks that should be representative (you can use any other large project instead of chalk, for example, rust-analyzer itself):

cargo run --package ra_cli --release -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0
cargo run --package ra_cli --release -- analysis-stats ../chalk

I think /usr/bin/time could be used to compare both time and memory (rss)?

We need to compare at least:

  • jemalloc
  • mimalloc
  • system allocator (bonus points if you check with different OSes)

Contributor guide