Skip to content

Commit 100c2d0

Browse files
committed
Add profile calls to {Module,Function}::diagnostics
With this change the output `ra_prof` gives a better indication where the time is spent. Example output: ``` 213ms - publish_diagnostics 213ms - diagnostics 70ms - Module::from_definition 70ms - Module::from_file 132ms - Module::diagnostics 78ms - Function::diagnostics 0ms - body_with_source_map_query (1 calls) 2ms - trait_solve_query (1 calls) 76ms - ??? 15ms - Function::diagnostics 0ms - body_with_source_map_query (1 calls) 15ms - trait_solve_query (5 calls) 38ms - Function::diagnostics (51 calls) 8ms - parse_query (1 calls) ``` Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
1 parent 4516c4c commit 100c2d0

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

crates/ra_hir/src/code_model.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ use hir_ty::{
2525
TraitEnvironment, Ty, TyDefId, TypeCtor, TypeWalk,
2626
};
2727
use ra_db::{CrateId, Edition, FileId};
28+
use ra_prof::profile;
2829
use ra_syntax::ast;
2930

3031
use crate::{
@@ -189,6 +190,7 @@ impl Module {
189190
}
190191

191192
pub fn diagnostics(self, db: &impl HirDatabase, sink: &mut DiagnosticSink) {
193+
let _p = profile("Module::diagnostics");
192194
db.crate_def_map(self.id.krate).add_diagnostics(db, self.id.local_id, sink);
193195
for decl in self.declarations(db) {
194196
match decl {
@@ -507,6 +509,7 @@ impl Function {
507509
}
508510

509511
pub fn diagnostics(self, db: &impl HirDatabase, sink: &mut DiagnosticSink) {
512+
let _p = profile("Function::diagnostics");
510513
let infer = db.infer(self.id.into());
511514
infer.add_diagnostics(db, self.id, sink);
512515
let mut validator = ExprValidator::new(self.id, infer, sink);

0 commit comments

Comments
 (0)