Rust 为什么不是';使用增量构建不会更快地信任链接器?

Rust 为什么不是';使用增量构建不会更快地信任链接器?,rust,linker,rust-cargo,linkage,Rust,Linker,Rust Cargo,Linkage,我是生锈的新手,我正在努力理解为什么生锈不能更快。我特别讨论的是最常见的情况,我在一个源文件中做了一个小更改,然后我需要等待几秒钟,等待cargo build完成它的工作。即使我的应用程序代码非常小,例如,如果我在MySQL和Rocket上添加依赖项,这两个板条箱也会有它们自己的依赖项,显然这就是使构建过程大大减慢的原因。很明显,“慢”的意思是相当主观的,但是如果我需要等待5-10秒来完成我一天做一百次的事情,我想知道为什么会这样,我是否遗漏了什么 在我看来,Cargo在检查是否需要重新编译那些

我是生锈的新手,我正在努力理解为什么生锈不能更快。我特别讨论的是最常见的情况,我在一个源文件中做了一个小更改,然后我需要等待几秒钟,等待
cargo build
完成它的工作。即使我的应用程序代码非常小,例如,如果我在MySQL和Rocket上添加依赖项,这两个板条箱也会有它们自己的依赖项,显然这就是使构建过程大大减慢的原因。很明显,“慢”的意思是相当主观的,但是如果我需要等待5-10秒来完成我一天做一百次的事情,我想知道为什么会这样,我是否遗漏了什么

在我看来,Cargo在检查是否需要重新编译那些200-300(子)依赖项中的任何一个方面似乎不会浪费太多时间,但是链接器花费了这么长的时间。我试图了解链接器无法以某种方式优化该过程是否有客观原因。例如,是否有可能以某种方式将整个MySQL和Rocket依赖项构建并缓存到两个更大的lib中,并避免每次都这样做?即使以二进制代码中的某些代码重复为代价

顺便说一句,我尝试了LLD链接器(我正在使用Ubuntu),它在一定程度上提高了速度,但它似乎仍然受到大量子依赖项的严重影响