Skip to content

Commit 6a4b124

Browse files
committed
add timings
1 parent 327ec58 commit 6a4b124

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

src/librustc/ty/maps/on_disk_cache.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ use ty;
3232
use ty::maps::job::QueryResult;
3333
use ty::codec::{self as ty_codec, TyDecoder, TyEncoder};
3434
use ty::context::TyCtxt;
35+
use util::common::time;
3536

3637
const TAG_FILE_FOOTER: u128 = 0xC0FFEE_C0FFEE_C0FFEE_C0FFEE_C0FFEE;
3738

@@ -199,7 +200,7 @@ impl<'sess> OnDiskCache<'sess> {
199200
// Encode query results
200201
let mut query_result_index = EncodedQueryResultIndex::new();
201202

202-
{
203+
time(tcx.sess.time_passes(), "encode query results", || {
203204
use ty::maps::queries::*;
204205
let enc = &mut encoder;
205206
let qri = &mut query_result_index;
@@ -220,7 +221,9 @@ impl<'sess> OnDiskCache<'sess> {
220221
encode_query_results::<contains_extern_indicator, _>(tcx, enc, qri)?;
221222
encode_query_results::<symbol_name, _>(tcx, enc, qri)?;
222223
encode_query_results::<check_match, _>(tcx, enc, qri)?;
223-
}
224+
225+
Ok(())
226+
})?;
224227

225228
// Encode diagnostics
226229
let diagnostics_index = {
@@ -1004,6 +1007,11 @@ fn encode_query_results<'enc, 'a, 'tcx, Q, E>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
10041007
E: 'enc + TyEncoder,
10051008
Q::Value: Encodable,
10061009
{
1010+
let desc = &format!("encode_query_results for {}",
1011+
unsafe { ::std::intrinsics::type_name::<Q>() });
1012+
1013+
time(tcx.sess.time_passes(), desc, || {
1014+
10071015
for (key, entry) in Q::get_cache_internal(tcx).map.iter() {
10081016
if Q::cache_on_disk(key.clone()) {
10091017
let entry = match *entry {
@@ -1022,4 +1030,5 @@ fn encode_query_results<'enc, 'a, 'tcx, Q, E>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
10221030
}
10231031

10241032
Ok(())
1033+
})
10251034
}

src/librustc_incremental/persist/save.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ pub fn save_dep_graph<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>) {
4343
time(sess.time_passes(), "persist dep-graph", || {
4444
save_in(sess,
4545
dep_graph_path(sess),
46-
|e| encode_dep_graph(tcx, e));
46+
|e| {
47+
time(sess.time_passes(), "encode dep-graph", || {
48+
encode_dep_graph(tcx, e)
49+
})
50+
});
4751
});
4852
}
4953

@@ -145,7 +149,9 @@ fn encode_dep_graph(tcx: TyCtxt,
145149
tcx.sess.opts.dep_tracking_hash().encode(encoder)?;
146150

147151
// Encode the graph data.
148-
let serialized_graph = tcx.dep_graph.serialize();
152+
let serialized_graph = time(tcx.sess.time_passes(), "getting serialized graph", || {
153+
tcx.dep_graph.serialize()
154+
});
149155

150156
if tcx.sess.opts.debugging_opts.incremental_info {
151157
#[derive(Clone)]
@@ -221,7 +227,9 @@ fn encode_dep_graph(tcx: TyCtxt,
221227
println!("[incremental]");
222228
}
223229

224-
serialized_graph.encode(encoder)?;
230+
time(tcx.sess.time_passes(), "encoding serialized graph", || {
231+
serialized_graph.encode(encoder)
232+
})?;
225233

226234
Ok(())
227235
}
@@ -245,5 +253,7 @@ fn encode_work_products(dep_graph: &DepGraph,
245253
fn encode_query_cache(tcx: TyCtxt,
246254
encoder: &mut Encoder)
247255
-> io::Result<()> {
248-
tcx.serialize_query_result_cache(encoder)
256+
time(tcx.sess.time_passes(), "serialize query result cache", || {
257+
tcx.serialize_query_result_cache(encoder)
258+
})
249259
}

0 commit comments

Comments
 (0)