Remove use of FastUtil for unload queue, very bad performance
Dieser Commit ist enthalten in:
Ursprung
fabe552ae9
Commit
11f2794bbe
@ -1,4 +1,4 @@
|
||||
From 147fdac9554b71e235db05a344cd6d5dbda149a4 Mon Sep 17 00:00:00 2001
|
||||
From 92c11ac4d9226bc25c8f4b82fbf686c30b8c4660 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 30 Mar 2016 02:13:24 -0400
|
||||
Subject: [PATCH] Use Optimized Collections
|
||||
@ -12,21 +12,8 @@ and could not create anything faster than fastutil.
|
||||
These collections are super fast as seen
|
||||
http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index c81b404b..4d0cb971 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -24,7 +24,7 @@ import org.bukkit.event.world.ChunkUnloadEvent;
|
||||
public class ChunkProviderServer implements IChunkProvider {
|
||||
|
||||
private static final Logger a = LogManager.getLogger();
|
||||
- public final Set<Long> unloadQueue = Sets.newHashSet();
|
||||
+ public final it.unimi.dsi.fastutil.longs.LongSet unloadQueue = new it.unimi.dsi.fastutil.longs.LongArraySet(); // PAIL: private -> public // Paper
|
||||
public final ChunkGenerator chunkGenerator;
|
||||
private final IChunkLoader chunkLoader;
|
||||
// Paper start
|
||||
diff --git a/src/main/java/net/minecraft/server/DataWatcher.java b/src/main/java/net/minecraft/server/DataWatcher.java
|
||||
index 1507f97f..fe848445 100644
|
||||
index 1507f97fd..fe8484453 100644
|
||||
--- a/src/main/java/net/minecraft/server/DataWatcher.java
|
||||
+++ b/src/main/java/net/minecraft/server/DataWatcher.java
|
||||
@@ -12,6 +12,7 @@ import java.util.Map;
|
||||
@ -47,5 +34,5 @@ index 1507f97f..fe848445 100644
|
||||
private boolean f = true;
|
||||
private boolean g;
|
||||
--
|
||||
2.13.1.windows.2
|
||||
2.13.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a4983ae26e02ae36edd96e20963b3c145ce27ee4 Mon Sep 17 00:00:00 2001
|
||||
From a64e03a4b423c7339dacffcc1c14168d7f2aba7f Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 4 Nov 2016 02:12:10 -0400
|
||||
Subject: [PATCH] Chunk Save Stats Debug Option
|
||||
@ -8,11 +8,11 @@ Adds a command line flag to enable stats on how chunk saves are processing.
|
||||
Stats on current queue, how many was processed and how many were queued.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 19f10fed..9159ed02 100644
|
||||
index ef194312b..8fca62eec 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -28,6 +28,11 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
public final it.unimi.dsi.fastutil.longs.LongSet unloadQueue = new it.unimi.dsi.fastutil.longs.LongArraySet(); // PAIL: private -> public // Paper
|
||||
public final Set<Long> unloadQueue = Sets.newHashSet();
|
||||
public final ChunkGenerator chunkGenerator;
|
||||
private final IChunkLoader chunkLoader;
|
||||
+ // Paper start - chunk save stats
|
||||
@ -55,7 +55,7 @@ index 19f10fed..9159ed02 100644
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index ceef6e45..d275eb19 100644
|
||||
index ceef6e456..d275eb194 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -32,7 +32,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@ -90,5 +90,5 @@ index ceef6e45..d275eb19 100644
|
||||
boolean flag;
|
||||
|
||||
--
|
||||
2.13.1.windows.2
|
||||
2.13.0
|
||||
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren