Improve compile time and executable size by counting lines of LLVM IR

This is super awesome. Compile times are for me the absolute worst (other parts of Rust are much better, let's say). I'm totally up for tools to improve this! :smiley:

I'm just giving it a whirl and it seems like it still takes the full compile time to get the pre-LLVM line counts out; is that fundamental somehow? I'm looking at a binary that takes 20mins+ to build in release, and it seems to do a full debug build (352s). Some pretty mental results, though... Awesome data!

Echidnatron% time cargo llvm-lines
   Compiling tpchlike v0.1.0 (file:///Users/mcsherry/Projects/differential-dataflow/tpchlike)
    Finished dev [unoptimized + debuginfo] target(s) in 352.27 secs
1332608 2031  <core::slice::Iter<'a, T>>::search_while
 440031 4621  <core::option::Option<T>>::map
 419929 21396  core::ptr::drop_in_place
 347867  745  alloc::slice::merge_sort
 306676 1394  <alloc::raw_vec::RawVec<T, A>>::double
 219402  745  alloc::slice::insert_head
 208600  745  alloc::slice::merge
3 Likes