Skip to content

Massive performance regression from 1.8.0.0 to 1.9.0.0. #3476

Closed as not planned
@htmue

Description

@htmue

Your environment

macOS (Catalina/Intel i7, Ventura/Apple M2 Max), GHC 8.10.7, GHC 9.2.5, Stack projects, Sublime Text/LSP, HLS 1.9.0.0 with default config. GHC, HLS and Stack installed via ghcup.

Steps to reproduce

Open a project, wait for HLS startup to complete, edit code.

Expected behaviour

Instant feedback from HLS within split seconds, as with 1.8.0.0.

Actual behaviour

HLS 1.9.0.0 takes several seconds to respond to each keystroke, showing a progress message ("Processing 123/199") which hangs from time to time and starts over from the beginning multiple times while typing.

The bigger the project, the slower the response. Observed response times per keystroke go from 2-3 seconds with a 35 module project up to 10-20s (!) when there are a few hundred modules in the project.

The processing time seems to accumulate with each keystroke, even from trivial changes like adding whitespace. Typing and HLS feedback (diagnostics, autocompletions) go out of sync and sometimes one has to wait for a minute (!) or something like that before HLS settles down and feedback appears.

All of this makes 1.9.0.0 kind of unusable, especially for larger projects.

What was added to HLS that makes it so painfully slow? Is there a setting to disable this to get back the split second speed of 1.8.0.0?

Metadata

Metadata

Assignees

No one assigned

    Labels

    component: ghcideperformanceIssues about memory consumption, responsiveness, etc.type: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions