Skip to content

Compiler service: parallel parsing. #14851

@safesparrow

Description

@safesparrow

Is your feature request related to a problem? Please describe.

IDE interactions in F# projects are slow and they make development experience subpar.

Describe the solution you'd like

One way to speed them up is to allow all files in a project to be parsed in parallel, when type-checking of multiple files/whole project is about to be performed.

Describe alternatives you've considered

Introducing a parsing cache of configurable size, that applies to all endpoints correctly would limit the slowdown caused by slow, sequential parsing. I raised #14848 for that. However:

  1. this doesn't apply to first-time parsing after IDE load
  2. parsing cache can get full. I do think that a cache large-enough to cover all source files in the solution is likely to have a small-enough memory footprint to be acceptable for most users - so hopefully this isn't very relevant.
  3. Every time a project changes, all parsing results get invalidated.

Additional context

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    New

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions