Very poor performance with Haskell files #10410
Replies: 12 comments
-
It looks like the server hasn't finished initializing. |
Beta Was this translation helpful? Give feedback.
-
@kirawi Yes, but the same happens even if I wait for it to end initializing. |
Beta Was this translation helpful? Give feedback.
-
The whole point of providing logs is to help us debug your issue by looking at what's happening during your problem. If you're not taking the logs while the problem is happening, you're just giving us a random text file. |
Beta Was this translation helpful? Give feedback.
-
Are you building helix from source? Make sure you're building in release mode. Is there a previous commit version where it works fine? Or maybe a previous haskell lsp version? |
Beta Was this translation helpful? Give feedback.
-
@dead10ck Sorry, I didn't mean to provide a misleading log file. It's just that the same thing happens even if I wait. Here's a log taken well after the inizialization ended, same edit on the same file: 14 seconds from the change to the error diagnostics.
@archseer I'm building from source with A thing I failed to notice yesterday is that the old version of the language server fails to start completely, and that's because I also updated the project's GHC version. I'm going to try some more tests to see if I can isolate the issue and maybe create a reproducible case. Thanks! |
Beta Was this translation helpful? Give feedback.
-
It's a little hard to tell for sure, but I'm seeing change notices being sent before more progress messages. Are you sure it was done initializing? Or does it send those progress notices every time you write a change? |
Beta Was this translation helpful? Give feedback.
-
@dead10ck Yeah, I'm sure it was done. I had a feeling it was somehow incorrectly reinitializing at every change, but I wasn't sure. I think this might be the issue |
Beta Was this translation helpful? Give feedback.
-
Related issue from haskell-language-server repo: |
Beta Was this translation helpful? Give feedback.
-
An important note from haskell/haskell-language-server#3458 is that apparently HLS has changed behavior for editors that don't support changed file notifications. Does Helix support that? For more info, see haskell/haskell-language-server#3458 (comment) |
Beta Was this translation helpful? Give feedback.
-
We don't support that yet: #2653 Seems like haskell/haskell-language-server#3452 should help though and there was a regression in GHC 9.4? |
Beta Was this translation helpful? Give feedback.
-
Yea, the comment above links to that PR and I'm using that locally for now. Things do seem much better! |
Beta Was this translation helpful? Give feedback.
-
I have been using #2653 all day long and it seems to be working perfectly so far. |
Beta Was this translation helpful? Give feedback.
-
Summary
Hi!
I can't use helix with my haskell project anymore.
There are a couple of issues that I'm experiencing:
When I make a change the diagnostics are updated after several seconds. From the logs you can see that 26 seconds pass between the code change and the error diagnostics showing up.
When this happens, saving the file is delayed by several seconds if it even happens. Often I just have to wait for the LSP to be done and then save it again. Sometimes I get a red "Async operation failed" message or something similar flashing briefly in the status bar.
This wasn't happening before. The problem is that the issue persists even if I go back to older commits (when I know it was working fine). Removing my config.toml and languages.toml files doesn't change anything.
I'm pretty sure it's not a language server issue, as I can open the same file in emacs or vscode, make the same exact changes to the file and have near instant feedback.
I think this happens with haskell only, and only with projects that are over a certain size.
Anything I can try to figure this out or to give you more info?
Thank you!
Reproduction Steps
No response
Helix log
~/.cache/helix/helix.log
Platform
Linux
Terminal Emulator
kitty 0.26.5
Helix Version
22.12-108-g77860bdb
Beta Was this translation helpful? Give feedback.
All reactions