-
-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
performance degradation after upgrade to haskell-lsp 0.19 #1007
Comments
In a lot of cases, hover is bottlenecked on checking if files have changed see haskell/ghcide#101. IIRC the latest |
@cocreature have you seen my Shake profiles in the original comment? |
Ah I missed those, thanks for pointing that out. That seems to confirm my suspicion that VFS lookups got slower. |
Bad hover performance is a major problem for lsp-emacs, which seems to send a hover request for every character typed, and then on a timer even when not typing. VSCode does not do this. Is it worth trying to fix haskell/ghcide#101 before releasing a version with haskell-lsp 0.19? |
We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes #298
We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes #298
…ell#303) We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes #298
…ell#303) We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes #298
…ell/ghcide#303) We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes haskell/ghcide#298
…ell/ghcide#303) We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes haskell/ghcide#298
…ell/ghcide#303) We already normalise filepaths in NormalizedFilePath. haskell-lsp changed things such that the conversion from Uri to NormalizedUri normalises the filepath again which caused a significant slowdown in GetFileExists. We already have a wrapper for converting from NormalizedFilePath to NormalizedUri so this PR changes this wrapper to inline the definition without the additional layer of normalisation. fixes haskell/ghcide#298
I've noticed a hover performance degradation in head, and bisected it to this change. Hover takes twice as long for me.
Originally posted by @pepeiborra in haskell/ghcide#254 (comment)
The text was updated successfully, but these errors were encountered: