Minecraft ineffeciently uses OutputStreams by calling .write(int) on the stream. For Chunks, this is a DeflaterOutputStream, which allocates a single byte EVERY write. This is causing the server to allocate tons of new byte[1] objects. Additionally, this is very ineffecient for the Deflate process. By Buffering Writes the same way it already is Buffering Reads, we will write to the stream much more effeciently. Also a more effecient RegionFile zero'ing for new chunks to speed up new chunk generation.
1.6 KiB
1.6 KiB