Foundational work for Future Memory usage improvements
This commit doesn't do much on its own, but adds a new Java Cleaner API that lets us hook into Garbage Collector events to reclaim pooled objects and return them to the pool. Adds framework for Network Packets to know when a packet has finished dispatching to get an idea when a packet is done sending to players. Rewrites PooledObjects impl to properly respect max pool size and remove almost all risk of contention. Bumps the Paper Async Task Queue to use 2 threads, and properly shuts it down on shutdown.
This commit is contained in:
parent
bb4002d82e
commit
897dd2c840
30 changed files with 395 additions and 274 deletions
|
@ -403,7 +403,7 @@ index 0000000000000000000000000000000000000000..3aceb0ea8a1a3ed94dd8a9e954c52ecd
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index 48f88eaba40b54cdf24da794ae5dc692c33553c7..9d0b0c9fc3c9e5e73506a43d7195b139cbcb30cf 100644
|
||||
index 87bd51ab1b844e05ecd3d9d2555841554976023c..37b8257552efd0d66a020f0b5007514f2ac890cd 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -1,7 +1,10 @@
|
||||
|
@ -417,7 +417,7 @@ index 48f88eaba40b54cdf24da794ae5dc692c33553c7..9d0b0c9fc3c9e5e73506a43d7195b139
|
|||
import org.apache.commons.lang.exception.ExceptionUtils;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.BlockFace;
|
||||
@@ -256,6 +259,10 @@ public final class MCUtil {
|
||||
@@ -315,6 +318,10 @@ public final class MCUtil {
|
||||
return run.get();
|
||||
}
|
||||
|
||||
|
@ -429,10 +429,10 @@ index 48f88eaba40b54cdf24da794ae5dc692c33553c7..9d0b0c9fc3c9e5e73506a43d7195b139
|
|||
* Calculates distance between 2 entities
|
||||
* @param e1
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 284793e4bf04cddae3e070a1fa0afdd18001fd2e..1f2793967045d0bea59e62d9d9d39b03dbdef6c8 100644
|
||||
index 87595425a358a13c8f2393619d51a981140556cf..4a513aaea587414cf6abc1c136e52420d59688d8 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1301,7 +1301,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1304,7 +1304,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
DispenserRegistry.init();
|
||||
DispenserRegistry.c();
|
||||
File s = (File) optionset.valueOf("universe"); // CraftBukkit
|
||||
|
@ -441,7 +441,7 @@ index 284793e4bf04cddae3e070a1fa0afdd18001fd2e..1f2793967045d0bea59e62d9d9d39b03
|
|||
MinecraftSessionService minecraftsessionservice = yggdrasilauthenticationservice.createMinecraftSessionService();
|
||||
GameProfileRepository gameprofilerepository = yggdrasilauthenticationservice.createProfileRepository();
|
||||
UserCache usercache = new UserCache(gameprofilerepository, new File(s, MinecraftServer.b.getName()));
|
||||
@@ -1766,6 +1766,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1769,6 +1769,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.H = i;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue