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

@jonhoo you can track down all the instantiations in the *.ll file. Here is what I found from rg '^define.*HashMap.*resize' target/release/deps/*.ll and cleaning up the output a little:

69 instantiations of HashMap::resize
HashMap<&alloc::vec::Vec<petgraph::graph_impl::NodeIndex<u32>>, ()>
HashMap<&nom_sql::column::Column, ()>
HashMap<&str, ()>
HashMap<&str, alloc::rc::Rc<core::cell::RefCell<mir::node::MirNode>>>
HashMap<(alloc::string::String, alloc::string::String), controller::sql::query_graph::QueryGraphEdge>
HashMap<(alloc::string::String, usize), alloc::rc::Rc<core::cell::RefCell<mir::node::MirNode>>>
HashMap<(dataflow::domain::Index, usize), (channel::tcp::TcpSender<dataflow::payload::Packet>, bool), core::hash::BuildHasherDefault<fnv::FnvHasher>>
HashMap<(dataflow::domain::Index, usize), (dataflow::statistics::DomainStats, std::collections::hash::map::HashMap<petgraph::graph_impl::NodeIndex<u32>, dataflow::statistics::NodeStats>)>
HashMap<(dataflow::domain::Index, usize), (std::net::addr::SocketAddr, bool)>
HashMap<(dataflow::domain::Index, usize), usize, core::hash::BuildHasherDefault<fnv::FnvHasher>>
HashMap<(petgraph::graph_impl::NodeIndex<u32>, petgraph::graph_impl::NodeIndex<u32>), ()>
HashMap<(petgraph::graph_impl::NodeIndex<u32>, petgraph::graph_impl::NodeIndex<u32>), petgraph::graph_impl::NodeIndex<u32>>
HashMap<(petgraph::graph_impl::NodeIndex<u32>, usize), (dataflow::backlog::SingleReadHandle, core::option::Option<dataflow::checktable::TokenGenerator>)>
HashMap<alloc::rc::Rc<alloc::string::String>, alloc::vec::Vec<hyper::client::pool::Entry<core::cell::RefCell<futures::sync::mpsc::Sender<(hyper::proto::MessageHead<hyper::proto::RequestLine>, core::option::Option<hyper::proto::body::Body>, futures::sync::oneshot::Sender<core::result::Result<hyper::proto::response::Response<hyper::proto::body::Body>, hyper::error::Error>>)>>>>>
HashMap<alloc::rc::Rc<alloc::string::String>, alloc::vec::Vec<hyper::client::pool::Entry<tokio_proto::util::client_proxy::ClientProxy<tokio_proto::streaming::message::Message<hyper::proto::MessageHead<hyper::proto::RequestLine>, hyper::proto::body::Body>, tokio_proto::streaming::message::Message<hyper::proto::MessageHead<hyper::proto::RawStatus>, tokio_proto::streaming::body::Body<hyper::proto::chunk::Chunk, hyper::error::Error>>, hyper::error::Error>>>>
HashMap<alloc::rc::Rc<alloc::string::String>, alloc::vec_deque::VecDeque<relay::Sender<hyper::client::pool::Entry<core::cell::RefCell<futures::sync::mpsc::Sender<(hyper::proto::MessageHead<hyper::proto::RequestLine>, core::option::Option<hyper::proto::body::Body>, futures::sync::oneshot::Sender<core::result::Result<hyper::proto::response::Response<hyper::proto::body::Body>, hyper::error::Error>>)>>>>>>
HashMap<alloc::rc::Rc<alloc::string::String>, alloc::vec_deque::VecDeque<relay::Sender<hyper::client::pool::Entry<tokio_proto::util::client_proxy::ClientProxy<tokio_proto::streaming::message::Message<hyper::proto::MessageHead<hyper::proto::RequestLine>, hyper::proto::body::Body>, tokio_proto::streaming::message::Message<hyper::proto::MessageHead<hyper::proto::RawStatus>, tokio_proto::streaming::body::Body<hyper::proto::chunk::Chunk, hyper::error::Error>>, hyper::error::Error>>>>>
HashMap<alloc::string::String, ()>
HashMap<alloc::string::String, alloc::string::String>
HashMap<alloc::string::String, alloc::vec::Vec<(usize, alloc::vec::Vec<nom_sql::column::ColumnSpecification>)>>
HashMap<alloc::string::String, alloc::vec::Vec<alloc::string::String>>
HashMap<alloc::string::String, alloc::vec::Vec<nom_sql::condition::ConditionExpression>>
HashMap<alloc::string::String, controller::sql::query_graph::QueryGraphNode>
HashMap<alloc::string::String, petgraph::graph_impl::NodeIndex<u32>>
HashMap<alloc::string::String, u64>
HashMap<alloc::string::String, usize>
HashMap<alloc::vec::Vec<core::data::DataType>, ()>
HashMap<alloc::vec::Vec<core::data::DataType>, usize>
HashMap<alloc::vec::Vec<usize>, ()>
HashMap<alloc::vec::Vec<usize>, alloc::vec::Vec<(core::local::Tag, dataflow::domain::Index)>>
HashMap<core::addressing::IndexPair, alloc::vec::Vec<usize>>
HashMap<core::addressing::IndexPair, usize>
HashMap<core::addressing::LocalNodeIndex, ()>
HashMap<core::any::TypeId, alloc::boxed::Box<hyper::header::Header>>
HashMap<core::any::TypeId, alloc::boxed::Box<hyper::header::HeaderFormat>>
HashMap<core::data::DataType, alloc::vec::Vec<alloc::vec::Vec<core::data::DataType>>, core::hash::BuildHasherDefault<fnv::FnvHasher>>
HashMap<core::data::DataType, core::local::Map<core::data::Records>>
HashMap<core::local::Tag, alloc::vec::Vec<dataflow::domain::Index>>
HashMap<core::local::Tag, alloc::vec::Vec<petgraph::graph_impl::NodeIndex<u32>>>
HashMap<core::local::Tag, petgraph::graph_impl::NodeIndex<u32>>
HashMap<dataflow::domain::Index, ()>
HashMap<dataflow::domain::Index, (std::collections::hash::map::HashMap<petgraph::graph_impl::NodeIndex<u32>, usize>, std::collections::hash::map::HashMap<petgraph::graph_impl::NodeIndex<u32>, alloc::vec::Vec<core::addressing::LocalNodeIndex>>)>
HashMap<dataflow::domain::Index, alloc::vec::Vec<(petgraph::graph_impl::NodeIndex<u32>, bool)>>
HashMap<dataflow::domain::Index, alloc::vec::Vec<petgraph::graph_impl::NodeIndex<u32>>>
HashMap<dataflow::domain::Index, controller::domain_handle::DomainHandle>
HashMap<dataflow::domain::Index, i64>
HashMap<dataflow::domain::Index, std::collections::hash::map::HashMap<petgraph::graph_impl::NodeIndex<u32>, core::addressing::IndexPair>>
HashMap<hyper::method::Method, rustful::router::variables::Variables<alloc::boxed::Box<rustful::handler::Handler>>>
HashMap<nom_sql::column::Column, ()>
HashMap<nom_sql::column::Column, alloc::vec::Vec<&nom_sql::condition::ConditionExpression>>
HashMap<petgraph::graph_impl::NodeIndex<u32>, ()>
HashMap<petgraph::graph_impl::NodeIndex<u32>, (alloc::vec::Vec<usize>, bool)>
HashMap<petgraph::graph_impl::NodeIndex<u32>, alloc::vec::Vec<core::addressing::LocalNodeIndex>>
HashMap<petgraph::graph_impl::NodeIndex<u32>, alloc::vec::Vec<usize>>
HashMap<petgraph::graph_impl::NodeIndex<u32>, core::addressing::IndexPair>
HashMap<petgraph::graph_impl::NodeIndex<u32>, dataflow::Sharding>
HashMap<petgraph::graph_impl::NodeIndex<u32>, dataflow::statistics::NodeStats>
HashMap<petgraph::graph_impl::NodeIndex<u32>, petgraph::graph_impl::NodeIndex<u32>>
HashMap<petgraph::graph_impl::NodeIndex<u32>, std::collections::hash::set::HashSet<alloc::vec::Vec<usize>>>
HashMap<petgraph::graph_impl::NodeIndex<u32>, usize>
HashMap<rustful::context::maybe_utf8::MaybeUtf8<alloc::string::String, alloc::vec::Vec<u8>>, rustful::router::tree_router::TreeRouter<rustful::router::method_router::MethodRouter<rustful::router::variables::Variables<alloc::boxed::Box<rustful::handler::Handler>>>>>
HashMap<std::net::addr::SocketAddr, controller::WorkerStatus>
HashMap<std::net::addr::SocketAddr, std::net::addr::SocketAddr>
HashMap<u64, (controller::sql::query_graph::QueryGraph, mir::query::MirQuery)>
HashMap<u64, (core::option::Option<alloc::string::String>, nom_sql::parser::SqlQuery, bool)>
HashMap<u64, futures::sync::oneshot::Sender<core::result::Result<tokio_proto::streaming::message::Message<core::result::Result<core::result::Result<dataflow::checktable::service::Response__, tarpc::errors::WireError<dataflow::checktable::service::Error__>>, alloc::boxed::Box<bincode::internal::ErrorKind>>, tokio_proto::streaming::body::Body<(), std::io::error::Error>>, std::io::error::Error>>>
HashMap<u64, tokio_proto::streaming::multiplex::advanced::Exchange<tokio_proto::streaming::multiplex::client::Dispatch<tokio_proto::simple::LiftProto<tarpc::protocol::Proto<dataflow::checktable::service::Request__, core::result::Result<dataflow::checktable::service::Response__, tarpc::errors::WireError<dataflow::checktable::service::Error__>>>>, tarpc::stream_type::StreamType, futures::stream::empty::Empty<(), std::io::error::Error>>>>
HashMap<usize, u64>
HashMap<usize, usize>
22 instantiations of HashMap::insert
HashMap<(alloc::string::String, usize), alloc::rc::Rc<core::cell::RefCell<mir::node::MirNode>>>
HashMap<(dataflow::domain::Index, usize), (dataflow::statistics::DomainStats, std::collections::hash::map::HashMap<petgraph::graph_impl::NodeIndex<u32>, dataflow::statistics::NodeStats>)>
HashMap<(dataflow::domain::Index, usize), usize, core::hash::BuildHasherDefault<fnv::FnvHasher>>
HashMap<(petgraph::graph_impl::NodeIndex<u32>, petgraph::graph_impl::NodeIndex<u32>), petgraph::graph_impl::NodeIndex<u32>>
HashMap<alloc::string::String, ()>
HashMap<alloc::string::String, controller::sql::query_graph::QueryGraphNode>
HashMap<alloc::string::String, petgraph::graph_impl::NodeIndex<u32>>
HashMap<alloc::string::String, usize>
HashMap<alloc::vec::Vec<usize>, ()>
HashMap<core::any::TypeId, alloc::boxed::Box<hyper::header::Header>>
HashMap<core::any::TypeId, alloc::boxed::Box<hyper::header::HeaderFormat>>
HashMap<dataflow::domain::Index, ()>
HashMap<dataflow::domain::Index, i64>
HashMap<nom_sql::column::Column, ()>
HashMap<petgraph::graph_impl::NodeIndex<u32>, ()>
HashMap<petgraph::graph_impl::NodeIndex<u32>, (alloc::vec::Vec<usize>, bool)>
HashMap<petgraph::graph_impl::NodeIndex<u32>, alloc::vec::Vec<core::addressing::LocalNodeIndex>>
HashMap<petgraph::graph_impl::NodeIndex<u32>, core::addressing::IndexPair>
HashMap<petgraph::graph_impl::NodeIndex<u32>, dataflow::Sharding>
HashMap<petgraph::graph_impl::NodeIndex<u32>, dataflow::statistics::NodeStats>
HashMap<petgraph::graph_impl::NodeIndex<u32>, usize>
HashMap<u64, (controller::sql::query_graph::QueryGraph, mir::query::MirQuery)>
1 Like