gradle / gradle/gradle-native

Compile Swift sources in parallel

Open
#438 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
94
Forks
7
PR merge metrics
No merged PRs in 30d

Description

@big-guy commented on [Thu Feb 01 2018](https://github.com/gradle/gradle-native-private/issues/88)

When building Swift sources, we delegate an entire compilation step to the `swiftc` compiler. This was simple and is necessary for the current form of incremental compilation.

The `swiftc` compiler offers a `-j ` option to parallelize compilation of individual files, but this doesn't integrate with Gradle's worker limits. If you were to set `-j` to `max-workers`, Gradle could potentially create `max-workers` * `max-workers` compilation invocations at one time.

By default, we should automatically compile Swift sources in parallel in a way that respects `max-workers`.

Contributor guide

Open the contributing guide

Research direction

Start by examining the Swift compilation integration and how Gradle applies max-workers to compilation work. Determine how swiftc's -j option can parallelize individual files without exceeding the configured worker limit; done means Swift sources compile in parallel by default while respecting max-workers.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.