Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 11:00:06 +01:00
37 Zeilen
1.4 KiB
Diff
37 Zeilen
1.4 KiB
Diff
From 630c07926fec1744af435452e552445389be028f Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
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 1cd8be8..4c39b54 100644
|
|
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
|
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
|
@@ -17,7 +17,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];
|
|
@@ -37,8 +37,9 @@ public class RegionFile {
|
|
|
|
this.c = new RandomAccessFile(file, "rw");
|
|
if (this.c.length() < 4096L) {
|
|
- this.c.write(RegionFile.a);
|
|
- this.c.write(RegionFile.a);
|
|
+ // Spigot - more effecient chunk zero'ing
|
|
+ this.c.write(RegionFile.a); // Spigot
|
|
+ this.c.write(RegionFile.a); // Spigot
|
|
this.g += 8192;
|
|
}
|
|
|
|
--
|
|
2.5.0
|
|
|