-
Notifications
You must be signed in to change notification settings - Fork 58
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] Sometimes Eclipse goes into a state where it allocates memory like crazy and only a restart helps #1201
Comments
On a quick exam to me it looks like each individual part (TextSelectionToIVariable) and (DebugValueCodeMiningProvider) are fairly reasonable. But the combination is pretty bad. This line: @jubax do you happen to have particularly large or many files open? Do you have many launches in the Debug view, even terminated ones? Is it possible to trace the creation of |
It is known that the current approach to showing debug values with DAP is currently way too expensive; that's why it's marked as EXPERIMENTAL in preferences. |
I guess I typically have about 20 Java files open. The files are long and complicated, but probably not exceptionally long. I have probably about 300 Debug configurations (which I never use because I usually start debug sessions from a specific test). Is that what you meant by "launches in the Debug view"? I can delete them all and see if I still run into that problem. |
You mean the option "Run/Debug -> Show debug values inline on text editors (Experimental)"? This is currently active on my system, but I have forgotten about it as it does not work for Java. I will deselect that option. Maybe this already helps ... thank you. |
I was referring to the view shown in this screenshot. You do not need to delete the debug configurations you have, they don't have an impact on this issue.
Thanks @mickaelistria for pointing us in the correct direction and highlighting the experimental nature of this. I don't think there is much value in leaving this copy of the issue open, to me it looks like most of the work has to happen in DebugValueCodeMiningProvider anyway. Is there an open issue that can be linked to this one as @jubax's analysis here will certainly be useful for anyone tackling improving DebugValueCodeMiningProvider |
Thank you. I can confirm that I don't have many launches in the debug view. |
I am experimenting to implement debug inline values in IntelliJ and I would like to share my studies. First I have studied how vscode manage their debug inline values. It uses 2 strategies:
I wanted just to share those ideas. Hope it will help you. |
Thanks for sharing @angelozerr . Indeed, a strategy that would first retrieve from the debug context the list of variable names that are relevant in this context and then showing only the values for those variable names would allow to skip a lot of string processing. We'd basically go from O(tokensInFile) evaluations to O(variableCount) evaluations, which is ridiculously less. |
I created a corresponding issue for JDT, but they think it is a lsp4e problem.
I am just linking to the corresponding JDT issue: eclipse-jdt/eclipse.jdt.core#3634. That issue shows screenshots and attaches a stack trace.
The last comment from a JDT contributor says that the stack trace points to CodeMining and the CodeMining stacktrace given points to lsp4e.
Thank you.
The text was updated successfully, but these errors were encountered: