Gradle项目的高层并行性
我有一个gradle构建过程, 可以动态生成大约200个同质,CPU密集型处理任务(所有相同的任务类型)。 这个列表中的任务不依赖于彼此,但他们在我的构建中具有公认的祖先和共同的后代。
它看起来并不像gradle有一个内置的方法让我可以并行处理它们。 (我看到的唯一的并行抽象与解耦项目有关)。
有什么技术可以应用在顶端,还是我卡住了?
例如,我是否可以动态创建n
个项目(以某种方式与主项目“分离”以满足Gradle的并行处理要求),每个项目都有我需要的1/n
个任务?
属于同一项目的任务目前不能并行执行。 您可以脚本settings.gradle
创建许多子项目和脚本build.gradle
将任务分配给项目,但这可能不是一个非常方便的解决方案。 另一种选择是有一个内部并行工作的单一任务(例如使用GPars库)。
上一篇: level parallelism from gradle's project
下一篇: Parallelization of CPU bound task continuing with IO bound