Hacker News new | ask | show | jobs
by the-smug-one 1853 days ago
It's probably too late for you :), but I use native-comp Emacs and it's blazing fast. At least lsp-mode+gopls is. I haven't gotten the chance to use this setup with Typescript's LS, but I've used gopls+clangd without slow downs.

Also, dang I miss coding in TS instead of Go.

1 comments

I have the same experience. Being on master and nativecomp probably helps, and I also think eglot is tad smoother than lsp-mode. I am using 10 year old laptop, no friction at all with tsserver, elixir-ls or gopls. However I think the server itself is the biggest difference maker, because all hell breaks lose when I try dart/flutter even in a simple project. But to be fair, my neovim setup struggles with that too (nvim-lspconfig + nvim-compe).
I use Dart/Flutter LSP (lsp-dart) in Emacs all the time very successfully. “All hell breaks loose” sounds like maybe you have a project cloned or created but not yet `flutter pub get`’d, in which case I have seen it act like practically every token is an error.
Okay, I think I am hitting some weirdness in Dart-mode itself. But it's to do with something unrelated in my config perhaps, because now I can't reproduce this with `emacs -Q`, and my dart-mode setup itself is only `(use-package dart-mode)`.

Basically even doing something mundane like C-n/C-p in a dart-mode buffer takes up a lot of memory (~800mb), which causes very high GC pressure and everything visibly stutters. Here is the `profiler-report` output just now:

https://paste.gnugen.ch/paste/5zED

But it's not helpful beyond pointing out that `line-move` when called from `next-line` for some reason is memory intensive.

> gc

you could maybe try the two lines here (set the megabyte count, the third number, to your own liking): https://emacs.stackexchange.com/questions/34342/is-there-any...