[英]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.