Re:Modern garbage collection: Part 2
by skybrian on Saturday December 14, 2019 @10:33AM
(#21789956)
Would it make a difference for Minecraft? I haven't played in a while but I remember fiddling with JVM settings to try to get smoother performance.
[ Parent
| on HN ]
I lost the link to the forum post, where it was described how bad Minecraft data structures were designed.
Re:Modern garbage collection: Part 2
by blattimwind on Saturday December 14, 2019 @03:23PM
(#21791950)
Many years ago, when I used to play Minecraft, the common wisdom was simply to get as much memory as possible, so that the GC runs less frequently. With the debug overlay you could see how the game kept allocating at about a rate of 300-500 MB/s until the JVM GC was triggered, which created a noticeable lag in the game. I used to know a few MC server admins, and I was surprised just how massive the resource consumption of the game was. One server I usually played on ran on multiple machines. Specs were I believe around 128 GB memory, 32 cores, 16 or so dedicated to GC...
Something I remember from that forum post was that instead of using array based representation for the meshes, it uses classes for every kind of information (Vector, Points,...). Very nice school OOP, but not always the best way.
Re:Modern garbage collection: Part 2
by imtringued on Saturday December 14, 2019 @09:31PM
(#21794068)
Minecraft world simulation runs on a single core so you won't see much benefit from more cores. GC may be an exception though.