4 ms·
None of those let you allocate objects from those arenas. You can't deserialized into a ByteBuffer. Hell, you can't even do linear object arrays in the JVM (st
by kllrnohj 4y ago
None of those let you allocate objects from those arenas. You can't deserialized into a ByteBuffer.
Hell, you can't even do linear object arrays in the JVM (still waiting on value types...), the most basic of memory optimization techniques.
Also for a JVM or Python, you can't avoid the extra overhead in an object (such as the ref count for python), which increases cache pressure and limits how much cache locality you can exploit.
- kaba0 4y agoBecause objects in these languages don’t have a uniform representation, it is up to the implementation how a java object is layed out in memory for example. But an allocated memory region is just a.. memory region in java and in C++ as well - you can store your custom data structure in both. Sure, value types will be a huge win, but it is not like you can’t store your RGB class’s data quite trivially into a huge linear structure as SOA or AOS as needed, and deserialize as needed.