You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to investigate possibility to introduce custom storage format for Vertex lists.
My idea is to have Vertex storage that will be accessed by integer index. It will have performance impact but decreasing memory demand.
For example my vertex data can use 2x int for XY and 1x short for Z value stored in 1 dimensional arrays. No memory overhead for Vertex as Java object.
No action required.
The text was updated successfully, but these errors were encountered:
One unfortunate thing about Java is that it consumes 12 or 16 bytes per object instance (depending on the operating system and JVM). For a small object like a vertex, that means that a substantial part of the storage for the object is actually overhead.
I can see where you might end up making something like a "Semi-Virtual Vertex Store" for vertices. The Store would be a kind of collection that holds vertices, but keeps them in data rather than realizing them as objects... sort of what the SemiVirtualEdgePool does.
If you look at the SingleBuildTest, you will see where I use it to estimate the number of bytes used by different objects. It's a bit tricky because Java, by design, hides that kind of detail from the application. Anyway, as you're experimenting, you might be able to take some ideas from that as a way of evaluating your success.
I want to investigate possibility to introduce custom storage format for Vertex lists.
My idea is to have Vertex storage that will be accessed by integer index. It will have performance impact but decreasing memory demand.
For example my vertex data can use 2x int for XY and 1x short for Z value stored in 1 dimensional arrays. No memory overhead for Vertex as Java object.
No action required.
The text was updated successfully, but these errors were encountered: