Sluggishness of UI after a while of F# REPL
I do everything in F# these days and all my prototyping in LP. I've consistently noticed that LP starts to lag and the UI becomes slow after a while of consistently REPLing
I have not been able to pinpoint a possible culprit, but the following is consistent
1. When I check the memory consumption in Task Manager it is very high. But a Shift+F5 does not free any of the mem.
2. When my F# code gets long (est > 150-200 lines), it feels like the compiler & intellisense start to struggle. But this could be a side effect of 1
Restarting LP returns a performant UI but as I continue to REPL things degrade again after a few hours
Running LP7
Anyone else experiencing same ?
Joe is there any diags I can log to possibly help identify the issue ?
Comments
Does closing and re-opening the query reset the memory usage (and performance?)
No. Memory usage will not drop and UI lag remains even after closing individual queries. Only a full restart seems to clear things.
Task manager shows the excessive memory consumption under the LinnqPad7-x64 process, not under any of the Query processes.
@JoeAlbahari, need some help on this one. I'm constantly shutting and reopening Linqpad when things get sluggish. It getting painful.
I've fixed a leak in 7.3.1. Let me know if it improves:
https://www.linqpad.net/linqpad7.aspx#beta
Fantastic. I've give it a spin. Fingers crossed.
I hate to be the bearer of bad new, but the latest beta (7.3.1) is worse, the intellisense in F# is totally broke and I cant even get to test the original problem.
This example produces the intellisense problem.
F# program -> add FSharp.Data nuget -> add code ->
open FSharp.Data
type MyType = htmlpro
ctrl + spacebar on the end of htmlpro
In current beta mouse turns to hourglass and nothing happens.
Cant run this test in LP7 because of https://forum.linqpad.net/discussion/2580/fsharp-data-in-linqpad-7
But if I run the test in LP6, intellisense works perfectly.
Sorry, try again.
Nothing to be sorry about. I'd be happy to run hundreds of tests. That's how much I'm hooked on Linqpad!
Intellisense working like a treat again.
Did some REPL'ing to try and see how performant things are now. So far not getting the same slow degradation in perf. Also notice the main LP process now recycles memory when the query is unloaded or closed. So at this stage it looks like you found the problem.
A big thumbs up !