about summary refs log tree commit diff
path: root/docs/dev
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2019-06-16 19:19:38 +0300
committerAleksey Kladov <aleksey.kladov@gmail.com>2019-06-16 19:45:05 +0300
commit6314e62cfb06ea7bbe5f530f2824010be0ffa4c7 (patch)
tree022742121ea273b6e90f6fbfa342660f46e9f68e /docs/dev
parentb81caed43f1886024ededad41a1baa8a03f1d2f4 (diff)
downloadrust-6314e62cfb06ea7bbe5f530f2824010be0ffa4c7.tar.gz
rust-6314e62cfb06ea7bbe5f530f2824010be0ffa4c7.zip
add analysis-bench to benchmark incremental analysis
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.
Diffstat (limited to 'docs/dev')
-rw-r--r--docs/dev/README.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/dev/README.md b/docs/dev/README.md
index d34ff96c826..3dc37e86eba 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
+```