From 0fe6a5f1ec7f039ee04368f5d974286b08ddb53f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 29 Aug 2015 17:48:20 -0400 Subject: [PATCH] More effecient RegionFile zero'ing Speeds up new Chunk Generation by using 2 4k block writes vs 2048 4 byte writes more effecient than going in and out of native calls repeatedly. diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java index fe3fbb0..348706f 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -16,7 +16,7 @@ import java.util.zip.InflaterInputStream; public class RegionFile { - private static final byte[] a = new byte[4096]; + private static final byte[] a = new byte[4096]; // Spigot - note: if this ever changes to not be 4096 bytes, update constructor! // PAIL: empty 4k block private final File b; private RandomAccessFile c; private final int[] d = new int[1024]; @@ -38,13 +38,9 @@ public class RegionFile { int i; if (this.c.length() < 4096L) { - for (i = 0; i < 1024; ++i) { - this.c.writeInt(0); - } - - for (i = 0; i < 1024; ++i) { - this.c.writeInt(0); - } + // Spigot - more effecient chunk zero'ing + this.c.write(RegionFile.a); // Spigot + this.c.write(RegionFile.a); // Spigot this.g += 8192; } -- 1.9.1