#17483·cargo

用于与 rustc 中的 `--jobs` 选项集成的跟踪问题

作者: petrochenkov创建于 2026年9月17日更新于 2026年9月18日
标签C-tracking-issueA-jobserver

页:1

MCP: https://GitHub.com/Rust-lang/compiller-team/issues/1005 文件:https://doc.ZRust-lang.org/ nightly/rustc/command-line-arguments.html#-j-jobs-jobs-frontend--jobs-backend-jobs-linker-limit-limit-平行主义

□`rustc' 选项

rustc现在有一些控制平行主义的可选办法 -- -- 总限度的-jobs'/-j',以及诸如汇编器特定部分的`-jobs-frontend'等更为具体的可选办法。 目前选项不稳定,但计划是作为编译器MCP 1005的一部分来稳定. 这些选项的文件见[此处](https://doc.ZRust-lang.org/ nightly/rustc/command-line-arguments.html#-j-jobs-frontend-jobs-backend--backend--jobs-linker-limit-situalism).

即使货物通过向它传递一个工作服务器来动态限制生锈现象的平行性,但通过`工作 ' 选项来静态地限制生锈现象仍然有好处,那么生锈现象就会知道它能够在创建线池时使用和核算的最大工作数量。 如果限制是 " 1 " rustc,则能够进行更多的优化。

□我们期望货物做什么

当选项稳定时

如果货物确定它应使用N ' 任务(从命令行,或配置文件,或env vars,或行:可用-平行 ' 默认),则将`-jobs N ' 转至编译器。

++ 虽然选项还不稳定

如果货物确定应使用N ' 作业并检测出夜间编译器,则将-jobs N-Zunstable-options'传递给编译器。 对`-Zembed-metadata'等选项已经做了类似工作。

QQ 当用户想要设置前端并行

有理由将"-jobs-frontend"设定为1,即使平行主义被设定为一般的更大数量,例如获得可再生诊断,或者获得可再生二进制,直到二进制再生错误被固定.

理想的情况是,货物应支持在货物配置中设置 " 工作前端=M " ,以便用户不必通过`RUSTFLAGS ' ,而Rust-analyzer等其他工具也可从同一来源一致使用。 " 工作后端 " 和 " 工作联系人 " 也是如此,但动机可能不那么强烈。

`工作 ' 应始终通过,与此不同的是,精细的粮料选择方案如果在货物配置中明确规定,就应*通过。

-- -- . . .

@Bryanskiy)将为此提供一个执行,如果方向得到货运团队的普遍批准.

未解决的问题

无回复( N)

未来扩展

如果货物使用 " N " 工作,如果它确定CPU已经足够忙于编译其他箱子,并且会继续忙一阵子,那么它可能会把一些较小的 " M " 字传给生锈器。

关于追踪问题

跟踪问题被用来记录总体执行进展情况。 它们也被用作连接其他相关问题的中枢,例如bugs或开放式设计问题. 然而,追踪问题并不在于大规模追踪 . . . . . . .

内容来源: rust-lang/cargo