-
-
Notifications
You must be signed in to change notification settings - Fork 369
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
Is disabling idle GC measurably better? #788
Comments
The problem is that idle GC performs a major GC of the very large ghcide surviving set, which can take several seconds every single time. An eventlog confirming this would be good.
|
Could the benchmark help to test the use of different gc's? |
That would be cool, thanks for suggesting! Would you give it a go? |
sorry i am afraid i will have no time at short/medium term to try it |
I would think that an idle GC would be well-suited for an IDE. There are long periods where the application is not going anything which could be used for GC.
The argument presented by @ndmitchell (here) is that "in a build system", there are usually external tasks which are running for over 0.3s. However, as we have observed in ghcide, most actions run for a very short amount of time (see haskell/ghcide#503)
What happens in my experience when using
ghcide
is that hovering triggers a GC which causes a noticeably pause with a large heap.We should actually come up with a metric to measure which one is better. These flags were added in haskell/ghcide#329 by @pepeiborra who claimed that it reduced hover time by
4s
, but why would that be the case? The way to investigate is to record an eventlog I think.Related to haskell/ghcide#512 as well.
The text was updated successfully, but these errors were encountered: