(Patina) Completely remove bootstrapExecutor && (Akarin) Avoid double I/O operation on load player file
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Etil <81570777+etil2jz@users.noreply.github.com>
|
||||
Date: Sun, 19 Sep 2021 11:54:46 +0200
|
||||
Subject: [PATCH] (Patina) Completely remove bootstrapExecutor
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
|
||||
index 5c7b9ad379f3c272e15648dd16f4df9245d927da..af598369e5aeae700d7d9da049f173fc51b7a370 100644
|
||||
--- a/src/main/java/net/minecraft/Util.java
|
||||
+++ b/src/main/java/net/minecraft/Util.java
|
||||
@@ -65,7 +65,7 @@ import org.apache.logging.log4j.Logger;
|
||||
|
||||
public class Util {
|
||||
private static final AtomicInteger WORKER_COUNT = new AtomicInteger(1);
|
||||
- private static final ExecutorService BOOTSTRAP_EXECUTOR = makeExecutor("Bootstrap", -2); // Paper - add -2 priority
|
||||
+ //private static final ExecutorService BOOTSTRAP_EXECUTOR = makeExecutor("Bootstrap", -2); // Paper - add -2 priority // Patina
|
||||
private static final ExecutorService BACKGROUND_EXECUTOR = makeExecutor("Main", -1); // Paper - add -1 priority
|
||||
// Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread
|
||||
public static final ExecutorService PROFILE_EXECUTOR = Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() {
|
||||
@@ -162,9 +162,11 @@ public class Util {
|
||||
return executorService;
|
||||
}
|
||||
|
||||
- public static Executor bootstrapExecutor() {
|
||||
+ /* // Patina
|
||||
+ public static Executor bootstrapExecutor() {
|
||||
return BOOTSTRAP_EXECUTOR;
|
||||
}
|
||||
+ */
|
||||
|
||||
public static Executor backgroundExecutor() {
|
||||
return BACKGROUND_EXECUTOR;
|
||||
diff --git a/src/main/java/net/minecraft/util/datafix/DataFixers.java b/src/main/java/net/minecraft/util/datafix/DataFixers.java
|
||||
index f7c100c975210ba3c3af68311ee53f845ebe8dd3..d56b5c5725aa1c07526fbbf5ccde016c9ad74d57 100644
|
||||
--- a/src/main/java/net/minecraft/util/datafix/DataFixers.java
|
||||
+++ b/src/main/java/net/minecraft/util/datafix/DataFixers.java
|
||||
@@ -75,15 +75,15 @@ public class DataFixers {
|
||||
|
||||
private static final BiFunction<Integer, Schema, Schema> SAME = Schema::new;
|
||||
private static final BiFunction<Integer, Schema, Schema> SAME_NAMESPACED = NamespacedSchema::new;
|
||||
- private static final DataFixer DATA_FIXER = DataFixers.createFixerUpper();
|
||||
+ private static final DataFixer DATA_FIXER; // Patina
|
||||
|
||||
public DataFixers() {}
|
||||
|
||||
- private static DataFixer createFixerUpper() {
|
||||
+ static { // Patina
|
||||
DataFixerBuilder datafixerbuilder = new DataFixerBuilder(SharedConstants.getCurrentVersion().getWorldVersion());
|
||||
|
||||
DataFixers.addFixers(datafixerbuilder);
|
||||
- return datafixerbuilder.build(Util.bootstrapExecutor());
|
||||
+ DATA_FIXER = datafixerbuilder.build(Util.backgroundExecutor()); // Patina
|
||||
}
|
||||
|
||||
public static DataFixer getDataFixer() {
|
||||
@@ -0,0 +1,29 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Etil <81570777+etil2jz@users.noreply.github.com>
|
||||
Date: Sun, 19 Sep 2021 13:32:04 +0200
|
||||
Subject: [PATCH] (Akarin) Avoid double I/O operation on load player file
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
|
||||
index 35c39aed9583275ef25d32c783715798b52bdb63..8ce6d386a67687207966a9c577cff9046f45193e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
|
||||
@@ -56,7 +56,8 @@ public class PlayerDataStorage {
|
||||
File file = new File(this.playerDir, player.getStringUUID() + ".dat");
|
||||
// Spigot Start
|
||||
boolean usingWrongFile = false;
|
||||
- if ( org.bukkit.Bukkit.getOnlineMode() && !file.exists() ) // Paper - Check online mode first
|
||||
+ boolean normalFile = file.exists() && file.isFile(); // Akarin - ensures normal file
|
||||
+ if ( org.bukkit.Bukkit.getOnlineMode() && !normalFile ) // Paper - Check online mode first // Akarin - ensures normal file
|
||||
{
|
||||
file = new File( this.playerDir, java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + player.getScoreboardName() ).getBytes( "UTF-8" ) ).toString() + ".dat");
|
||||
if ( file.exists() )
|
||||
@@ -67,7 +68,7 @@ public class PlayerDataStorage {
|
||||
}
|
||||
// Spigot End
|
||||
|
||||
- if (file.exists() && file.isFile()) {
|
||||
+ if (normalFile) { // Akarin - avoid double I/O operation
|
||||
nbttagcompound = NbtIo.readCompressed(file);
|
||||
}
|
||||
// Spigot Start
|
||||
Reference in New Issue
Block a user