Also profile finishing the encoding.

This commit is contained in:
Camille GILLOT 2021-03-23 13:19:42 +01:00
parent df24315ddf
commit 8ee9322c10
3 changed files with 9 additions and 4 deletions

View File

@ -49,7 +49,7 @@ pub fn save_dep_graph(tcx: TyCtxt<'_>) {
},
move || {
sess.time("incr_comp_persist_dep_graph", || {
if let Err(err) = tcx.dep_graph.encode() {
if let Err(err) = tcx.dep_graph.encode(&tcx.sess.prof) {
sess.err(&format!(
"failed to write dependency graph to `{}`: {}",
staging_dep_graph_path.display(),

View File

@ -789,8 +789,12 @@ impl<K: DepKind> DepGraph<K> {
}
}
pub fn encode(&self) -> FileEncodeResult {
if let Some(data) = &self.data { data.current.encoder.steal().finish() } else { Ok(()) }
pub fn encode(&self, profiler: &SelfProfilerRef) -> FileEncodeResult {
if let Some(data) = &self.data {
data.current.encoder.steal().finish(profiler)
} else {
Ok(())
}
}
fn next_virtual_depnode_index(&self) -> DepNodeIndex {

View File

@ -304,7 +304,8 @@ impl<K: DepKind + Encodable<FileEncoder>> GraphEncoder<K> {
self.status.lock().encode_node(&node, &self.record_graph)
}
pub fn finish(self) -> FileEncodeResult {
pub fn finish(self, profiler: &SelfProfilerRef) -> FileEncodeResult {
let _prof_timer = profiler.generic_activity("incr_comp_encode_dep_graph");
self.status.into_inner().finish()
}
}