<div dir="ltr">I have worked on making ghcide scale better to large projects, in the context of Facebook Sigma, bringing down the complexity of "edits" from O(transitive imports) to O(transitive modules).<div>The changes have not yet made it into an HLS release, but they are very much ready for use if you are willing to build your own HLS binary:</div><div><br></div><div><a href="https://github.com/haskell/haskell-language-server/pull/2060">https://github.com/haskell/haskell-language-server/pull/2060</a> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 20 Sept 2021 at 19:05, Ben Gamari <<a href="mailto:ben@smart-cactus.org">ben@smart-cactus.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Richard Eisenberg <<a href="mailto:lists@richarde.dev" target="_blank">lists@richarde.dev</a>> writes:<br>
<br>
> Hi devs,<br>
><br>
> I have migrated to use VSCode instead of emacs. There are the usual switchover pains, but I'm mostly pleased. One particular point of pleasure was that I had to do nothing, at all, to get VSCode working within the GHC code base. (Well, I had to switch to Hadrian, but perhaps that's for the best.)<br>
><br>
> My problem: VSCode over GHC pins my processor at 100% if I edit anything. Any advice for fixing this?<br>
><br>
> A little more detail: When VSCode starts up, it spends a while "processing" and "indexing" (no idea what these mean). OK. I can pay that one-time cost. But as I start editing, etc., it needs to process and index a lot more. Somewhat continuously. This slows my computer down generally, and -- more annoyingly -- slows down my builds (run in a separate terminal).<br>
><br>
I suspect you are using not just VS Code (which generally performs<br>
fairly well on files of "reasonable" size) but also Haskell Language<br>
Server; is this so?<br>
<br>
Indeed it is sadly true that LSP is currently a bit sluggish on GHC.<br>
This is something that Matt Pickering has done a bit of work on the<br>
past; he may have some concrete guidance for how to improve matters.<br>
In the past he has suggested to me that disabling some language server<br>
functionality helps matters.<br>
<br>
Cheers,<br>
<br>
- Ben<br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>