rust/crates
bors[bot] 0e94d07b9c Merge #1638
1638: Avoid cloning a TtToken in SubtreeTokenSource::mk_token r=matklad a=lnicola

According to `perf record`, this function is the hottest one while running `ra_cli analysis-stats`:

Before:

```
6.05%  ra_cli  ra_cli        <ra_mbe::subtree_source::SubtreeTokenSource as ra_parser::TokenSource>::lookahead_nth
5.56%  ra_cli  ra_cli        <rowan::green::GreenNode as core:#️⃣:Hash>::hash
4.16%  ra_cli  libc-2.29.so  _int_malloc
3.93%  ra_cli  ra_cli        ra_mbe::subtree_source::SubtreeTokenSource::get

Database loaded, 255 roots, 231.676882ms
Crates in this dir: 27
Total modules found: 282
Total declarations: 9642
Total functions: 3287
Total expressions: 64616
Expressions of unknown type: 9111 (14%)
Expressions of partially unknown type: 3417 (5%)
Analysis: 24.012797561s, 0b allocated 0b resident
target/release/ra_cli analysis-stats  24.60s user 0.56s system 100% cpu 25.125 total
```

After:

```
5.85%  ra_cli  ra_cli        <rowan::green::GreenNode as core:#️⃣:Hash>::hash
4.55%  ra_cli  libc-2.29.so  _int_malloc
4.31%  ra_cli  ra_cli        ra_parser::parser::Parser::nth
3.61%  ra_cli  ra_cli        <ra_syntax::parsing::text_token_source::TextTokenSource as ra_parser::TokenSource>::lookahead_nth
3.54%  ra_cli  ra_cli        ra_syntax::syntax_node::SyntaxTreeBuilder::finish_node
3.46%  ra_cli  libc-2.29.so  _int_free
3.12%  ra_cli  libc-2.29.so  malloc
2.76%  ra_cli  ra_cli        ra_parser::event::process
2.68%  ra_cli  ra_cli        alloc::sync::Arc<T>::drop_slow
2.50%  ra_cli  ra_cli        ra_mbe::subtree_source::SubtreeTokenSource::get
2.31%  ra_cli  ra_cli        <smol_str::SmolStr as core:#️⃣:Hash>::hash
2.04%  ra_cli  libc-2.29.so  __memmove_avx_unaligned_erms
1.92%  ra_cli  ra_cli        <ra_mbe::subtree_source::SubtreeTokenSource as ra_parser::TokenSource>::lookahead_nth

Database loaded, 255 roots, 236.176803ms
Crates in this dir: 27
Total modules found: 282
Total declarations: 9642
Total functions: 3287
Total expressions: 64620
Expressions of unknown type: 9107 (14%)
Expressions of partially unknown type: 3425 (5%)
Analysis: 22.562328486s, 0b allocated 0b resident
target/release/ra_cli analysis-stats  23.12s user 0.57s system 100% cpu 23.659 total
```

r? @edwin0cheng, @matklad 

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2019-08-03 20:07:07 +00:00
..
gen_lsp_server flexi_logger 0.14 2019-07-22 13:13:55 -04:00
ra_arena allow rustfmt to reorder imports 2019-07-04 23:09:09 +03:00
ra_assists rustfmt 2019-07-30 21:02:29 +07:00
ra_batch Remove unused dependencies 2019-07-09 00:28:00 +09:00
ra_cli Make Analysis api cancellable 2019-07-25 20:22:41 +03:00
ra_db make Parse generic 2019-07-18 22:55:04 +03:00
ra_fmt align SyntaxText API with upstream 2019-07-20 16:52:11 +03:00
ra_hir Resolve out of line modules inside inline module with attribute path 2019-08-03 19:44:59 +03:00
ra_ide_api Update insta to 0.9.0 and cargo update 2019-07-31 10:05:00 -04:00
ra_lsp_server remove-comment 2019-07-31 11:53:47 -04:00
ra_mbe Return a Ref from SubtreeTokenSource::get 2019-08-03 22:49:47 +03:00
ra_parser fix: parse box syntax inside parentheses 2019-07-22 20:52:10 +08:00
ra_prof jemallocator 0.3 2019-07-17 10:58:17 -04:00
ra_project_model Remove unused dependencies 2019-07-09 00:28:00 +09:00
ra_syntax Unconditionally trim the end of comments 2019-07-31 13:59:14 -04:00
ra_text_edit allow rustfmt to reorder imports 2019-07-04 23:09:09 +03:00
ra_tools it's a good idea to build extension before installing it 2019-07-27 23:02:03 +03:00
ra_tt allow rustfmt to reorder imports 2019-07-04 23:09:09 +03:00
test_utils Remove unused dependencies 2019-07-09 00:28:00 +09:00
thread_worker Fix clippy::single_match 2019-06-04 18:05:07 -04:00