繁体   English   中英

目标中的-T10C和-T4C -am是什么意思

[英]What is the meaning of -T10C and -T4C -am in goals

我想知道 -T4C 和 -T10C 之间的区别以及这多个内核将如何影响构建时间。

Maven 通过mvn --help的帮助输出将为-T打印以下内容:

 -T,--threads <arg>                     Thread count, for instance 2.0C
                                        where C is core multiplied

答案的第一部分是:

例如,如果您有一台具有 5 个内核的机器,它将使用4 * 5线程(在-T4C的情况下)运行您的构建,这意味着总共有 20 个线程。 或者假设你给了-T10C结果10 * 5这意味着 50 个线程。

理论到此为止。

第一件事是你必须有一个包含多个模块的多模块构建。 根据模块之间的依赖关系,您可以使用mvn clean verify -T3 -T3 之类的方法来减少构建时间,但这取决于模块的数量及其相互之间的依赖关系。 一般来说,你拥有的模块越多,构建时间就越短,但这在很大程度上取决于模块的依赖结构。

在单个模块构建中,这通常不会减少构建时间。 它可以减少整个构建时间,具体取决于您的单元测试/集成测试设置的完成方式以及您拥有的单元和/或集成测试的数量。

因此,经验法则是简单地尝试使用-T3构建整个项目并检查构建时间是否减少,如果是的话,下次尝试使用-T6 (假设您有足够的内核)......

只有当您有大量模块(100 多个)时,如果您愿意,您可以尝试使用更多的模块...

因此,大多数时候您可以简单地尝试使用mvn -T1C构建,这意味着线程数与您拥有的 CPU 内核数相同......

最后,这取决于您拥有的模块数量以及模块之间的关系......

您需要使用-TXXX的每个不同参数测量构建时间,以找到最高效的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM