mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-06 08:17:44 +01:00
Add sub timings to chunk map
This commit is contained in:
parent
ebfc40dde6
commit
fbcd3ce763
@ -161,6 +161,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ public final Timing chunkTicksBlocks;
|
||||
+ public final Timing doVillages;
|
||||
+ public final Timing doChunkMap;
|
||||
+ public final Timing doChunkMapUpdate;
|
||||
+ public final Timing doChunkMapToUpdate;
|
||||
+ public final Timing doChunkMapSortMissing;
|
||||
+ public final Timing doChunkMapSortSendToPlayers;
|
||||
+ public final Timing doChunkMapPlayersNeedingChunks;
|
||||
+ public final Timing doChunkMapPendingSendToPlayers;
|
||||
+ public final Timing doChunkMapUnloadChunks;
|
||||
+ public final Timing doChunkGC;
|
||||
+ public final Timing doSounds;
|
||||
+ public final Timing entityRemoval;
|
||||
@ -192,6 +199,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ chunkTicksBlocks = Timings.ofSafe(name + "Chunk Ticks - Blocks");
|
||||
+ doVillages = Timings.ofSafe(name + "doVillages");
|
||||
+ doChunkMap = Timings.ofSafe(name + "doChunkMap");
|
||||
+ doChunkMapUpdate = Timings.ofSafe(name + "doChunkMap - Update");
|
||||
+ doChunkMapToUpdate = Timings.ofSafe(name + "doChunkMap - To Update");
|
||||
+ doChunkMapSortMissing = Timings.ofSafe(name + "doChunkMap - Sort Missing");
|
||||
+ doChunkMapSortSendToPlayers = Timings.ofSafe(name + "doChunkMap - Sort Send To Players");
|
||||
+ doChunkMapPlayersNeedingChunks = Timings.ofSafe(name + "doChunkMap - Players Needing Chunks");
|
||||
+ doChunkMapPendingSendToPlayers = Timings.ofSafe(name + "doChunkMap - Pending Send To Players");
|
||||
+ doChunkMapUnloadChunks = Timings.ofSafe(name + "doChunkMap - Unload Chunks");
|
||||
+ doSounds = Timings.ofSafe(name + "doSounds");
|
||||
+ doChunkGC = Timings.ofSafe(name + "doChunkGC");
|
||||
+ doPortalForcer = Timings.ofSafe(name + "doPortalForcer");
|
||||
@ -595,6 +609,106 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
|
||||
this.methodProfiler.b();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
+import co.aikar.timings.Timing;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.AbstractIterator;
|
||||
import com.google.common.collect.ComparisonChain;
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
PlayerChunk playerchunk;
|
||||
|
||||
if (i - this.k > 8000L) {
|
||||
+ try (Timing ignored = world.timings.doChunkMapUpdate.startTiming()) { // Paper
|
||||
this.k = i;
|
||||
|
||||
for (j = 0; j < this.i.size(); ++j) {
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
playerchunk.d();
|
||||
playerchunk.c();
|
||||
}
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
if (!this.f.isEmpty()) {
|
||||
+ try (Timing ignored = world.timings.doChunkMapToUpdate.startTiming()) { // Paper
|
||||
Iterator iterator = this.f.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
}
|
||||
|
||||
this.f.clear();
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
if (this.l && i % 4L == 0L) {
|
||||
this.l = false;
|
||||
+ try (Timing ignored = world.timings.doChunkMapSortMissing.startTiming()) { // Paper
|
||||
Collections.sort(this.h, new Comparator() {
|
||||
public int a(PlayerChunk playerchunk, PlayerChunk playerchunk1) {
|
||||
return ComparisonChain.start().compare(playerchunk.g(), playerchunk1.g()).result();
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
return this.a((PlayerChunk) object, (PlayerChunk) object1);
|
||||
}
|
||||
});
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
if (this.m && i % 4L == 2L) {
|
||||
this.m = false;
|
||||
+ try (Timing ignored = world.timings.doChunkMapSortSendToPlayers.startTiming()) { // Paper
|
||||
Collections.sort(this.g, new Comparator() {
|
||||
public int a(PlayerChunk playerchunk, PlayerChunk playerchunk1) {
|
||||
return ComparisonChain.start().compare(playerchunk.g(), playerchunk1.g()).result();
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
return this.a((PlayerChunk) object, (PlayerChunk) object1);
|
||||
}
|
||||
});
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
if (!this.h.isEmpty()) {
|
||||
+ try (Timing ignored = world.timings.doChunkMapPlayersNeedingChunks.startTiming()) { // Paper
|
||||
long k = System.nanoTime() + 50000000L;
|
||||
int l = 49;
|
||||
Iterator iterator1 = this.h.iterator();
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
}
|
||||
}
|
||||
}
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
if (!this.g.isEmpty()) {
|
||||
j = 81;
|
||||
+ try (Timing ignored = world.timings.doChunkMapPendingSendToPlayers.startTiming()) { // Paper
|
||||
Iterator iterator2 = this.g.iterator();
|
||||
|
||||
while (iterator2.hasNext()) {
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap {
|
||||
}
|
||||
}
|
||||
}
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
if (this.managedPlayers.isEmpty()) {
|
||||
+ try (Timing ignored = world.timings.doChunkMapUnloadChunks.startTiming()) { // Paper
|
||||
WorldProvider worldprovider = this.world.worldProvider;
|
||||
|
||||
if (!worldprovider.e()) {
|
||||
this.world.getChunkProviderServer().b();
|
||||
}
|
||||
+ } // Paper timing
|
||||
}
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
|
Loading…
Reference in New Issue
Block a user