From 6314e62cfb06ea7bbe5f530f2824010be0ffa4c7 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 16 Jun 2019 19:19:38 +0300 Subject: add analysis-bench to benchmark incremental analysis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Can be used like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --complete ../chalk/chalk-engine/src/logic.rs:94:0 loading: 225.970093ms from scratch: 8.492373325s no change: 445.265µs trivial change: 95.631242ms ``` Or like this: ``` $ cargo run --release -p ra_cli -- \ analysis-bench ../chalk/ \ --highlight ../chalk/chalk-engine/src/logic.rs loading: 209.873484ms from scratch: 9.504916942s no change: 7.731119ms trivial change: 124.984039ms ``` "from scratch" includes initial analysis of the relevant bits of the project "no change" just asks the same question for the second time. It measures overhead on assembling the answer outside of salsa. "trivial change" doesn't do an actual salsa change, it just advances the revision. This test how fast is salsa at validating things. --- docs/dev/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'docs/dev') diff --git a/docs/dev/README.md b/docs/dev/README.md index d34ff96c8..3dc37e86e 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md @@ -147,3 +147,16 @@ RA_PROFILE=*@3>10 // dump everything, up to depth 3, if it takes more tha ``` In particular, I have `export RA_PROFILE='*>10' in my shell profile. + +To measure time for from-scratch analysis, use something like this: + +``` +$ cargo run --release -p ra_cli -- analysis-stats ../chalk/ +``` + +For measuring time of incremental analysis, use either of these: + +``` +$ cargo run --release -p ra_cli -- analysis-bench ../chalk/ --highlight ../chalk/chalk-engine/src/logic.rs +$ cargo run --release -p ra_cli -- analysis-bench ../chalk/ --complete ../chalk/chalk-engine/src/logic.rs:94:0 +``` -- cgit v1.2.3