Linking a binary takes 7 minutes

Does anyone know what might cause this?

If I set RUSTC_LOG=debug I see that there are big gaps where nothing appears to be happening during rustc_mir's work

Platform and crates being linked would probably be useful information.

Platform: Linux 5.4.12-arch1-1 #1 SMP PREEMPT Tue, 14 Jan 2020 21:44:31 +0000 x86_64 GNU/Linux
Crates: ...loads, including tokio, warp, serde, others. I'm building a web server.

Probably the interesting info for finding the cause is:

RUSTC_LOG=debug output (there were 11050 lines of output similar to this when I Ctrl+C'd rustc)
[INFO  rustc::traits::codegen] Cache miss: Binder(<std::mem::ManuallyDrop<std::mem::ManuallyDrop<std::panic::AssertUnwindSafe<[closure@DefId(30:6142 ~ tokio[d20c]::task[0]::harness[0]::{{impl}}[1]::do_cancel[0]::{{closure}}[0]::{{closure}}[0]) 0:&mut &mut tokio::task::core::Core<hyper::server::conn::spawn_all::NewSvcTask<warp::tls::TlsStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@DefId(111:4737 ~ warp[b8ec]::server[0]::{{impl}}[1]::bind_ephemeral[0]::{{closure}}[1]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<warp::filter::service::FilteredService<warp::filters::log::internal::WithLog<[closure@DefId(111:952 ~ warp[b8ec]::filters[0]::log[0]::log[0]::{{closure}}[0]) 0:&str], warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>, warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>>, warp::filter::map::Map, [closure@server/src/bin/server.rs:161:46: 165:6 client_env:std::string::String]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::untuple_one::UntupleOne<warp::filter::and_then::AndThen, [closure@DefId(111:1527 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[0])]>>>, warp::filter::FilterFn<[closure@DefId(111:927 ~ warp[b8ec]::filters[0]::header[0]::exact_ignore_case[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:922 ~ warp[b8ec]::filters[0]::header[0]::exact[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:907 ~ warp[b8ec]::filters[0]::header[0]::header2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:544 ~ warp[b8ec]::filters[0]::body[0]::body[0]::{{closure}}[0])]]>>, [closure@DefId(111:1528 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[1])]>>, warp::filter::map::Map>, [closure@server/src/bin/server.rs:118:18: 155:14]>>, warp::filter::map::Map>>>>, 1:std::option::Option], hyper::body::body::Body>, hyper::error::Error>>, hyper::service::util::ServiceFn<[closure@DefId(111:4737 ~ warp[b8ec]::server[0]::{{impl}}[1]::bind_ephemeral[0]::{{closure}}[1]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<warp::filter::service::FilteredService<warp::filters::log::internal::WithLog<[closure@DefId(111:952 ~ warp[b8ec]::filters[0]::log[0]::log[0]::{{closure}}[0]) 0:&str], warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>, warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>>, warp::filter::map::Map, [closure@server/src/bin/server.rs:161:46: 165:6 client_env:std::string::String]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::untuple_one::UntupleOne<warp::filter::and_then::AndThen, [closure@DefId(111:1527 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[0])]>>>, warp::filter::FilterFn<[closure@DefId(111:927 ~ warp[b8ec]::filters[0]::header[0]::exact_ignore_case[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:922 ~ warp[b8ec]::filters[0]::header[0]::exact[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:907 ~ warp[b8ec]::filters[0]::header[0]::header2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:544 ~ warp[b8ec]::filters[0]::body[0]::body[0]::{{closure}}[0])]]>>, [closure@DefId(111:1528 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[1])]>>, warp::filter::map::Map>, [closure@server/src/bin/server.rs:118:18: 155:14]>>, warp::filter::map::Map>>>>, 1:std::option::Option], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::conn::spawn_all::NoopWatcher>>]>>> as std::ops::DerefMut>) => VtableImplData(impl_def_id=DefId(2:1130 ~ core[f952]::mem[0]::manually_drop[0]::{{impl}}[3]), substs=[std::mem::ManuallyDrop<std::panic::AssertUnwindSafe<[closure@DefId(30:6142 ~ tokio[d20c]::task[0]::harness[0]::{{impl}}[1]::do_cancel[0]::{{closure}}[0]::{{closure}}[0]) 0:&mut &mut tokio::task::core::Core<hyper::server::conn::spawn_all::NewSvcTask<warp::tls::TlsStream, futures_util::future::ready::Ready<std::result::Result<hyper::service::util::ServiceFn<[closure@DefId(111:4737 ~ warp[b8ec]::server[0]::{{impl}}[1]::bind_ephemeral[0]::{{closure}}[1]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<warp::filter::service::FilteredService<warp::filters::log::internal::WithLog<[closure@DefId(111:952 ~ warp[b8ec]::filters[0]::log[0]::log[0]::{{closure}}[0]) 0:&str], warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>, warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>>, warp::filter::map::Map, [closure@server/src/bin/server.rs:161:46: 165:6 client_env:std::string::String]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::untuple_one::UntupleOne<warp::filter::and_then::AndThen, [closure@DefId(111:1527 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[0])]>>>, warp::filter::FilterFn<[closure@DefId(111:927 ~ warp[b8ec]::filters[0]::header[0]::exact_ignore_case[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:922 ~ warp[b8ec]::filters[0]::header[0]::exact[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:907 ~ warp[b8ec]::filters[0]::header[0]::header2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:544 ~ warp[b8ec]::filters[0]::body[0]::body[0]::{{closure}}[0])]]>>, [closure@DefId(111:1528 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[1])]>>, warp::filter::map::Map>, [closure@server/src/bin/server.rs:118:18: 155:14]>>, warp::filter::map::Map>>>>, 1:std::option::Option], hyper::body::body::Body>, hyper::error::Error>>, hyper::service::util::ServiceFn<[closure@DefId(111:4737 ~ warp[b8ec]::server[0]::{{impl}}[1]::bind_ephemeral[0]::{{closure}}[1]::{{closure}}[0]::{{closure}}[0]) 0:std::sync::Arc<warp::filter::service::FilteredService<warp::filters::log::internal::WithLog<[closure@DefId(111:952 ~ warp[b8ec]::filters[0]::log[0]::log[0]::{{closure}}[0]) 0:&str], warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::or::Or<warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>, warp::filter::and::And, warp::filter::and_then::AndThen<warp::filter::and::And<warp::filter::and::And, warp::filter::and_then::AndThen, [closure@DefId(111:830 ~ warp[b8ec]::filters[0]::fs[0]::path_from_tail[0]::{{closure}}[0]) 0:std::sync::Arc]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:919 ~ warp[b8ec]::filters[0]::header[0]::optional2[0]::{{closure}}[0])]]>>, [closure@DefId(111:849 ~ warp[b8ec]::filters[0]::fs[0]::conditionals[0]::{{closure}}[0])]>>, fn(warp::filters::fs::ArcPath, warp::filters::fs::Conditionals) -> impl std::marker::Send+core::future::future::Future {warp::filters::fs::file_reply}>>>, warp::filter::map::Map, [closure@server/src/bin/server.rs:161:46: 165:6 client_env:std::string::String]>>, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And, warp::filter::map::Map<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And<warp::filter::and::And, warp::filter::untuple_one::UntupleOne<warp::filter::and_then::AndThen, [closure@DefId(111:1527 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[0])]>>>, warp::filter::FilterFn<[closure@DefId(111:927 ~ warp[b8ec]::filters[0]::header[0]::exact_ignore_case[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:922 ~ warp[b8ec]::filters[0]::header[0]::exact[0]::{{closure}}[0]) 0:&str, 1:&str]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:907 ~ warp[b8ec]::filters[0]::header[0]::header2[0]::{{closure}}[0])]]>>, warp::filter::FilterFn<[closure@DefId(111:467 ~ warp[b8ec]::filter[0]::filter_fn_one[0]::{{closure}}[0]) 0:[closure@DefId(111:544 ~ warp[b8ec]::filters[0]::body[0]::body[0]::{{closure}}[0])]]>>, [closure@DefId(111:1528 ~ warp[b8ec]::filters[0]::ws[0]::ws[0]::{{closure}}[1])]>>, warp::filter::map::Map>, [closure@server/src/bin/server.rs:118:18: 155:14]>>, warp::filter::map::Map>>>>, 1:std::option::Option], hyper::body::body::Body>, hyper::common::exec::Exec, hyper::server::conn::spawn_all::NoopWatcher>>]>>], nested=[])

I would add more but I'm at the char limit. If more is useful I can put it on pastebin or similar.

EDIT I just discovered that the build is running fast on stable so this looks like a stable-to-nightly regression (1min for a full build vs 17mins just to link). I apologise I didn't realise I'd rustup overriden the compiler version.

I also apologise that I'm not willing to spell apologise as apologize :stuck_out_tongue: .

2 Likes

If this is indeed a regression can you push a subset of your code that reproduces the issue and create a ticket? I would hate to see such a big issue land in stable by accident.

2 Likes

If you include all the same crates in your Cargo.toml, but replace your app with fn main { println!("slow"); }, does the slowness go away?

Can you remove half of your routes, and get a significant (more than 50%) speedup? Are you using any macros 0 that might be generating large functions?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.