diff options
| author | David Barsky <me@davidbarsky.com> | 2025-03-16 13:07:08 -0400 |
|---|---|---|
| committer | David Barsky <me@davidbarsky.com> | 2025-03-17 10:45:03 -0400 |
| commit | b97596c81fa581c2254aec7b7463f727f4e6eab8 (patch) | |
| tree | c280cc6fc1abaad3639a4d945bf1d34a62fcefcb /src | |
| parent | d89aefd5f23b68b699a23dc73206634505860b13 (diff) | |
| download | rust-b97596c81fa581c2254aec7b7463f727f4e6eab8.tar.gz rust-b97596c81fa581c2254aec7b7463f727f4e6eab8.zip | |
analysis-stats: run Salsa's LRU at the end of analysis
Diffstat (limited to 'src')
| -rw-r--r-- | src/tools/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/tools/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs b/src/tools/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs index b02708bf246..29331000a11 100644 --- a/src/tools/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs +++ b/src/tools/rust-analyzer/crates/rust-analyzer/src/cli/analysis_stats.rs @@ -22,7 +22,10 @@ use ide::{ Analysis, AnalysisHost, AnnotationConfig, DiagnosticsConfig, Edition, InlayFieldsToResolve, InlayHintsConfig, LineCol, RootDatabase, }; -use ide_db::{EditionedFileId, LineIndexDatabase, SnippetCap, base_db::SourceDatabase}; +use ide_db::{ + EditionedFileId, LineIndexDatabase, SnippetCap, + base_db::{SourceDatabase, salsa::Database}, +}; use itertools::Itertools; use load_cargo::{LoadCargoConfig, ProcMacroServerChoice, load_workspace}; use oorandom::Rand32; @@ -104,7 +107,7 @@ impl flags::AnalysisStats { } eprintln!(")"); - let host = AnalysisHost::with_database(db); + let mut host = AnalysisHost::with_database(db); let db = host.raw_database(); let mut analysis_sw = self.stop_watch(); @@ -250,6 +253,9 @@ impl flags::AnalysisStats { self.run_term_search(&workspace, db, &vfs, file_ids, verbosity); } + let db = host.raw_database_mut(); + db.trigger_lru_eviction(); + let total_span = analysis_sw.elapsed(); eprintln!("{:<20} {total_span}", "Total:"); report_metric("total time", total_span.time.as_millis() as u64, "ms"); |
