Skip to content

Multithreaded Compilation #166

Open
Open
@brockelmore

Description

@brockelmore

Requested Feature

For sufficiently large repos, solc compilation can be the slowest part of testing. In those cases we should multithread compilation as much as possible. Here is a rough sketch of a potential way to achieve this?

Suggested solution

  1. Determine a threshold for multithreading compilation (# of sol files in repo?) that offsets any overhead
  2. Spin up 1 thread per file, determining dependency graph
  3. Hash trees/dep graph, and remove duplicate trees
  4. Compile the needed contracts using the existing threads, in parallel

There could be issues here that I am unaware of but documenting the thoughts I had anyway

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions