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
PropertyTree memory overuse #10534
Comments
rymsha
added a commit
that referenced
this issue
May 10, 2024
rymsha
added a commit
that referenced
this issue
May 10, 2024
rymsha
added a commit
that referenced
this issue
May 10, 2024
rymsha
added a commit
that referenced
this issue
May 10, 2024
rymsha
added a commit
that referenced
this issue
May 10, 2024
rymsha
added a commit
that referenced
this issue
May 10, 2024
rymsha
added a commit
that referenced
this issue
May 13, 2024
In order to save memory a separate representation of PropertyTree was introduced - specifically for cache.
By storing single KV elements without a List (just a reference to a Value) and storing PropertySets in a List (or just value) we managed to shrink PropertyTree 3.8 MB object into ImputableProperty 1.9 MB object with a greater copy performance as well |
rymsha
added a commit
that referenced
this issue
May 13, 2024
rymsha
added a commit
that referenced
this issue
May 13, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
after #10015 was implemented we noticed extreme heap usage increase on some setups.
The consumption is very high for NodeVersion objects, specifically the ones with big amount of KV records in data.
A lot of memory is wasted because each property value is represented by an ArrayList with 1 element - wasting 9 reserved cells (This is how mutable ArrayList works).
Additionally PropertyArray object also wastes a lot of memory - because it uses HashMap. And When there are a bot more than 3000 elements in it 8192 elements are allocated.
The text was updated successfully, but these errors were encountered: