Skip to content

very slow compiles on large ADT with pattern matches #14224

Open
@fommil

Description

@fommil

Compiler version

3.1.0

Minimized code

https://gitlab.com/fommil/shapely

(the code is generated and found in the src_managed folder after running this command)

sbt ++3.1.0 test

A previous version of one of the slower files would crash the JVM even with 8GB of RAM so I gave up and refactored the code to use .asInstanceOf instead of explicit pattern matching.

Expectation

This codebase compiles in seconds on Scala 2.13, but takes minutes in Scala 3. I would expect it to have competitive performance with Scala 2.

This code is mostly pattern matching and subtyping calculations. Although the implicit keyword appears a lot, there's not actually any implicit resolution happening here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions