-
Notifications
You must be signed in to change notification settings - Fork 46
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
Add option to compress large ETS lookup tables #313
Conversation
Add a configuration setting to compress large ETS lookup tables (mainly used for code navigation) to consume less memory. Please note, it will make table operations slower, therefore it might impact performance of code navigation. Rational: In shared environment where many instances of `vscode_erlang` run in the same time on large code bases, noticeable amount of memory can be consumed by this extension. In this case turning on the newly created option `compressLargeEtsTables` might ease the situation.
bd5e6a7
to
cd3169f
Compare
Hi @pgourlain, What do you think about this change, do you think it worth to pull or shall it be further improved? |
Hi, Sorry for the delay. your opinion ? |
Well, I haven't thought for In the meantime, if you are fine with the current version then I think it could be pulled. I have only one concern about it in connection to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think usage of DETS can be add to this PR, with naming refactoring.
@@ -95,6 +95,7 @@ Support for Erlang tools, including rebar3, EUnit and Dialyzer | |||
- `erlang.includePaths` - Include paths are read from rebar.config, and also standard set of paths is used. This setting is for special cases when the default behaviour is not enough | |||
- `erlang.linting` - Enable/disable dynamic validation of opened Erlang source files | |||
- `erlang.codeLensEnabled` - Enable/Disable CodeLens | |||
- `erlang.compressLargeEtsTables` - Enable/disable compression of large ETS lookup tables (mainly used for code navigation) to consume less memory. Please note, it might impact performance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
compressLargeEtsTables is not easy to understand for "users". and "please note it might impact performance" can affraid users
proposition : 'erlang.cacheManagement' = default, compressed, file
description : Define caching usage for code navigation, parsing result,...depending on your project size
is it make sense ?
Or if you prefer :
|
I'll update this PR with the new options ... in a few days. |
Eventually, I created a new branch and so, a new PR #319 based on your comments. Please check it and let's continue there. |
Add a configuration setting to compress large ETS lookup tables (mainly used for code navigation) to consume less memory. Please note, it will make table operations slower, therefore it might impact performance of code navigation.
Rational:
In shared environment where many instances of
vscode_erlang
run in the same time on large code bases, noticeable amount of memory can be consumed by this extension. In this case turning on the newly created optioncompressLargeEtsTables
might ease the situation.