Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B buck
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • buck
  • Merge requests
  • !1913

Add an option to compile swiftmodule files separately

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/rmaz/parallelswift into master Jun 08, 2018
  • Overview 7
  • Commits 10
  • Pipelines 0
  • Changes 12

Created by: rmaz

This change adds an option to build swift libraries with greater concurrency. It splits the build of a target into a step to generate the swiftmodule file and separate bitcode files for each of the source files. The second pass takes these as inputs and compiles each object file separately. This significantly improves the build parallelism as dependent modules do not need to wait for a dependency to completely build before starting, and also helps reduce the time taken to build large modules as the object files are generated concurrently.

As an added bonus it makes it possible to generate debug info correctly.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/rmaz/parallelswift