From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 1 Jul 2022 04:03:37 -0500 Subject: [PATCH] Remove Timings diff --git a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java index e9070b6158e7e8c2dd33a9dcb20898a2f0d86e48..c8c019aea915ebb089f2ebe45bbcd1b5317c629f 100644 --- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java +++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkLoadTask.java @@ -89,7 +89,7 @@ public final class ChunkLoadTask extends ChunkTask { final ChunkMap chunkManager = this.world.getChunkSource().chunkMap; - try (Timing ignored = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) { + //try (Timing ignored = this.world.timings.chunkLoadLevelTimer.startTimingIfSync()) { // Purpur final ChunkSerializer.InProgressChunkHolder chunkHolder; // apply fixes @@ -123,7 +123,7 @@ public final class ChunkLoadTask extends ChunkTask { } this.complete(chunkHolder); - } + //} // Purpur } private void complete(final ChunkSerializer.InProgressChunkHolder holder) { diff --git a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java index 0d245ad7d19b11e946e0b5b43bf2181292297210..49f3a4e66ea38e80f8096071003500513b750584 100644 --- a/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java +++ b/src/main/java/com/destroystokyo/paper/io/chunk/ChunkSaveTask.java @@ -34,7 +34,7 @@ public final class ChunkSaveTask extends ChunkTask { // can be executed asynchronously or synchronously final CompoundTag compound; - try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTimingIfSync()) { + try /*(Timing ignored = this.world.timings.chunkUnloadDataSave.startTimingIfSync())*/ { // Purpur compound = ChunkSerializer.saveChunk(this.world, this.chunk, this.asyncSaveData); } catch (final Throwable ex) { // has a plugin modified something it should not have and made us CME? @@ -43,7 +43,7 @@ public final class ChunkSaveTask extends ChunkTask { // Note: We add to the server thread queue here since this is what the server will drain tasks from // when waiting for chunks ChunkTaskManager.queueChunkWaitTask(() -> { - try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTiming()) { + //try (Timing ignored = this.world.timings.chunkUnloadDataSave.startTiming()) { // Purpur CompoundTag data = PaperFileIOThread.FAILURE_VALUE; try { @@ -54,7 +54,7 @@ public final class ChunkSaveTask extends ChunkTask { } ChunkSaveTask.this.complete(data); - } + // } // Purpur }); return; // the main thread will now complete the data diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java index 1429f938c36d5a3a33e71837f440b2303d60cfe7..ace18f023fde2d6561f6f0c3717e4820e454797c 100644 --- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java +++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java @@ -47,8 +47,9 @@ public class PacketUtils { if (MinecraftServer.getServer().hasStopped() || (listener instanceof ServerGamePacketListenerImpl && ((ServerGamePacketListenerImpl) listener).processedDisconnect)) return; // CraftBukkit, MC-142590 if (listener.getConnection().isConnected()) { co.aikar.timings.Timing timing = co.aikar.timings.MinecraftTimings.getPacketTiming(packet); // Paper - timings - try (co.aikar.timings.Timing ignored = timing.startTiming()) { // Paper - timings + //try (co.aikar.timings.Timing ignored = timing.startTiming()) { // Paper - timings // Purpur packet.handle(listener); + /* // Purpur } catch (Exception exception) { net.minecraft.network.Connection networkmanager = listener.getConnection(); String playerIP = io.papermc.paper.configuration.GlobalConfiguration.get().logging.logPlayerIpAddresses ? String.valueOf(networkmanager.getRemoteAddress()) : ""; // Paper @@ -62,7 +63,7 @@ public class PacketUtils { networkmanager.disconnect(error); }); networkmanager.setReadOnly(); - } + } */ // Purpur } else { PacketUtils.LOGGER.debug("Ignoring packet due to disconnection: {}", packet); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java index 6e8055d70695841d21654b4f72643b4d0ea42867..83e04e0a0d5067668729118b05d289ac075ba37a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1426,15 +1426,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return !this.canOversleep(); }); - isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); + //isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); // Purpur // Paper end new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper @@ -1486,9 +1486,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> scheduleChunkLoad(ChunkPos pos) { // Paper start - Async chunk io final java.util.function.BiFunction> syncLoadComplete = (chunkHolder, ioThrowable) -> { - try (Timing ignored = this.level.timings.chunkLoad.startTimingIfSync()) { // Paper + try /*(Timing ignored = this.level.timings.chunkLoad.startTimingIfSync())*/ { // Paper // Purpur this.level.getProfiler().incrementCounter("chunkLoad"); if (ioThrowable != null) { return this.handleChunkLoadFailure(ioThrowable, pos); @@ -1363,7 +1363,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider ChunkStatus chunkstatus = ChunkHolder.getStatus(chunkHolder.getTicketLevel()); return !chunkstatus.isOrAfter(ChunkStatus.FULL) ? ChunkHolder.UNLOADED_CHUNK : either.mapLeft((ichunkaccess) -> { - try (Timing ignored = level.timings.chunkPostLoad.startTimingIfSync()) { // Paper + //try (Timing ignored = level.timings.chunkPostLoad.startTimingIfSync()) { // Paper // Purpur ChunkPos chunkcoordintpair = chunkHolder.getPos(); ProtoChunk protochunk = (ProtoChunk) ichunkaccess; LevelChunk chunk; @@ -1388,7 +1388,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } return chunk; - } // Paper + //} // Paper // Purpur }); }, (runnable) -> { ProcessorHandle mailbox = this.mainThreadMailbox; @@ -1514,9 +1514,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider private void asyncSave(ChunkAccess chunk) { ChunkPos chunkPos = chunk.getPos(); CompoundTag poiData; - try (Timing ignored = this.level.timings.chunkUnloadPOISerialization.startTiming()) { + //try (Timing ignored = this.level.timings.chunkUnloadPOISerialization.startTiming()) { // Purpur poiData = this.poiManager.getData(chunk.getPos()); - } + //} // Purpur com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.level, chunkPos.x, chunkPos.z, poiData, null, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY); @@ -1536,9 +1536,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } ChunkSerializer.AsyncSaveData asyncSaveData; - try (Timing ignored = this.level.timings.chunkUnloadPrepareSave.startTiming()) { + //try (Timing ignored = this.level.timings.chunkUnloadPrepareSave.startTiming()) { // Purpur asyncSaveData = ChunkSerializer.getAsyncSaveData(this.level, chunk); - } + //} // Purpur this.level.asyncChunkTaskManager.scheduleChunkSave(chunkPos.x, chunkPos.z, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY, asyncSaveData, chunk); @@ -1549,7 +1549,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider // Paper end public boolean save(ChunkAccess chunk) { - try (co.aikar.timings.Timing ignored = this.level.timings.chunkSave.startTiming()) { // Paper + //try (co.aikar.timings.Timing ignored = this.level.timings.chunkSave.startTiming()) { // Paper // Purpur this.poiManager.flush(chunk.getPos()); if (!chunk.isUnsaved()) { return false; @@ -1573,9 +1573,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.level.getProfiler().incrementCounter("chunkSave"); CompoundTag nbttagcompound; - try (co.aikar.timings.Timing ignored1 = this.level.timings.chunkSaveDataSerialization.startTiming()) { // Paper + //try (co.aikar.timings.Timing ignored1 = this.level.timings.chunkSaveDataSerialization.startTiming()) { // Paper // Purpur nbttagcompound = ChunkSerializer.write(this.level, chunk); - } // Paper + //} // Paper // Purpur // Paper start - async chunk io com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.level, chunkcoordintpair.x, chunkcoordintpair.z, @@ -1589,7 +1589,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return false; } } - } // Paper + //} // Paper // Purpur } private boolean isExistingChunkFull(ChunkPos pos) { @@ -2112,24 +2112,24 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } // Pufferfish end - this.level.timings.tracker1.startTiming(); + //this.level.timings.tracker1.startTiming(); // Purpur try { for (TrackedEntity tracker : this.entityMap.values()) { // update tracker entry tracker.updatePlayers(tracker.entity.getPlayersInTrackRange()); } } finally { - this.level.timings.tracker1.stopTiming(); + //this.level.timings.tracker1.stopTiming(); // Purpur } - this.level.timings.tracker2.startTiming(); + //this.level.timings.tracker2.startTiming(); // Purpur try { for (TrackedEntity tracker : this.entityMap.values()) { tracker.serverEntity.sendChanges(); } } finally { - this.level.timings.tracker2.stopTiming(); + //this.level.timings.tracker2.stopTiming(); // Purpur } } // Paper end - optimised tracker @@ -2144,7 +2144,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider List list = Lists.newArrayList(); List list1 = this.level.players(); ObjectIterator objectiterator = this.entityMap.values().iterator(); - level.timings.tracker1.startTiming(); // Paper + //level.timings.tracker1.startTiming(); // Paper // Purpur ChunkMap.TrackedEntity playerchunkmap_entitytracker; @@ -2169,17 +2169,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider playerchunkmap_entitytracker.serverEntity.sendChanges(); } } - level.timings.tracker1.stopTiming(); // Paper + //level.timings.tracker1.stopTiming(); // Paper // Purpur if (!list.isEmpty()) { objectiterator = this.entityMap.values().iterator(); - level.timings.tracker2.startTiming(); // Paper + //level.timings.tracker2.startTiming(); // Paper // Purpur while (objectiterator.hasNext()) { playerchunkmap_entitytracker = (ChunkMap.TrackedEntity) objectiterator.next(); playerchunkmap_entitytracker.updatePlayers(list); } - level.timings.tracker2.stopTiming(); // Paper + //level.timings.tracker2.stopTiming(); // Paper // Purpur } } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java index 378cc1f9e19eb9b18037ab8af92f65897e15a405..de4b8001ff0ddb1603fcca2b6829bb55289d651e 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -660,10 +660,10 @@ public class ServerChunkCache extends ChunkSource { com.destroystokyo.paper.io.chunk.ChunkTaskManager.pushChunkWait(this.level, x1, z1); // Paper end com.destroystokyo.paper.io.SyncLoadFinder.logSyncLoad(this.level, x1, z1); // Paper - sync load info - this.level.timings.syncChunkLoad.startTiming(); // Paper + //this.level.timings.syncChunkLoad.startTiming(); // Paper // Purpur chunkproviderserver_b.managedBlock(completablefuture::isDone); com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug - this.level.timings.syncChunkLoad.stopTiming(); // Paper + //this.level.timings.syncChunkLoad.stopTiming(); // Paper // Purpur this.distanceManager.clearPriorityTickets(pair); // Paper - Chunk priority this.distanceManager.clearUrgent(pair); // Paper - Chunk priority } // Paper @@ -827,7 +827,7 @@ public class ServerChunkCache extends ChunkSource { public boolean runDistanceManagerUpdates() { if (distanceManager.delayDistanceManagerTick) return false; // Paper - Chunk priority if (this.chunkMap.unloadingPlayerChunk) { LOGGER.error("Cannot tick distance manager while unloading playerchunks", new Throwable()); throw new IllegalStateException("Cannot tick distance manager while unloading playerchunks"); } // Paper - co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager + //co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager // Purpur boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); @@ -837,7 +837,7 @@ public class ServerChunkCache extends ChunkSource { this.clearCache(); return true; } - } finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager + //} finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager // Purpur } // Paper start @@ -855,17 +855,17 @@ public class ServerChunkCache extends ChunkSource { public void save(boolean flush) { this.runDistanceManagerUpdates(); - try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings + //try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings // Purpur this.chunkMap.saveAllChunks(flush); - } // Paper - Timings + //} // Paper - Timings // Purpur } // Paper start - duplicate save, but call incremental public void saveIncrementally() { this.runDistanceManagerUpdates(); - try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings + //try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings // Purpur this.chunkMap.saveIncrementally(); - } // Paper - Timings + //} // Paper - Timings // Purpur } // Paper end @@ -900,22 +900,22 @@ public class ServerChunkCache extends ChunkSource { @Override public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) { this.level.getProfiler().push("purge"); - this.level.timings.doChunkMap.startTiming(); // Spigot + //this.level.timings.doChunkMap.startTiming(); // Spigot // Purpur this.distanceManager.purgeStaleTickets(); this.runDistanceManagerUpdates(); - this.level.timings.doChunkMap.stopTiming(); // Spigot + //this.level.timings.doChunkMap.stopTiming(); // Spigot // Purpur this.level.getProfiler().popPush("chunks"); if (tickChunks) { - this.level.timings.chunks.startTiming(); // Paper - timings + //this.level.timings.chunks.startTiming(); // Paper - timings // Purpur this.chunkMap.playerChunkManager.tick(); // Paper - this is mostly is to account for view distance changes this.tickChunks(); - this.level.timings.chunks.stopTiming(); // Paper - timings + //this.level.timings.chunks.stopTiming(); // Paper - timings // Purpur } - this.level.timings.doChunkUnload.startTiming(); // Spigot + //this.level.timings.doChunkUnload.startTiming(); // Spigot // Purpur this.level.getProfiler().popPush("unload"); this.chunkMap.tick(shouldKeepTicking); - this.level.timings.doChunkUnload.stopTiming(); // Spigot + //this.level.timings.doChunkUnload.stopTiming(); // Spigot // Purpur this.level.getProfiler().pop(); this.clearCache(); } @@ -970,7 +970,7 @@ public class ServerChunkCache extends ChunkSource { boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit gameprofilerfiller.push("naturalSpawnCount"); - this.level.timings.countNaturalMobs.startTiming(); // Paper - timings + //this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur int l = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - per player mob spawning NaturalSpawner.SpawnState spawnercreature_d; // moved down @@ -991,12 +991,12 @@ public class ServerChunkCache extends ChunkSource { // Pufferfish end } // Paper end - this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings + //this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur //this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously gameprofilerfiller.popPush("filteringLoadedChunks"); // Paper - moved down - this.level.timings.chunkTicks.startTiming(); // Paper + //this.level.timings.chunkTicks.startTiming(); // Paper // Purpur // Paper - moved down @@ -1050,17 +1050,17 @@ public class ServerChunkCache extends ChunkSource { } } // Paper end - optimise chunk tick iteration - this.level.timings.chunkTicks.stopTiming(); // Paper + //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur gameprofilerfiller.popPush("customSpawners"); if (flag2) { - try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings + //try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings // Purpur this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies); - } // Paper - timings + //} // Paper - timings // Purpur } gameprofilerfiller.pop(); // Paper start - use set of chunks requiring updates, rather than iterating every single one loaded gameprofilerfiller.popPush("broadcast"); - this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing + //this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) { ReferenceOpenHashSet copy = this.chunkMap.needsChangeBroadcasting.clone(); this.chunkMap.needsChangeBroadcasting.clear(); @@ -1072,7 +1072,7 @@ public class ServerChunkCache extends ChunkSource { } } } - this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing + //this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur gameprofilerfiller.pop(); // Paper end - use set of chunks requiring updates, rather than iterating every single one loaded // Paper start - controlled flush for entity tracker packets diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java index 0d82ca8ba9f2b11213cfe1ab01dc6ef3f2f510c9..ca733d97929c123df1234143660631eb07d62e79 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -648,7 +648,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.updateSkyBrightness(); this.tickTime(); gameprofilerfiller.popPush("tickPending"); - timings.scheduledBlocks.startTiming(); // Paper + //timings.scheduledBlocks.startTiming(); // Paper // Purpur if (!this.isDebug()) { j = this.getGameTime(); gameprofilerfiller.push("blockTicks"); @@ -657,20 +657,20 @@ public class ServerLevel extends Level implements WorldGenLevel { this.fluidTicks.tick(j, 65536, this::tickFluid); gameprofilerfiller.pop(); } - timings.scheduledBlocks.stopTiming(); // Paper + //timings.scheduledBlocks.stopTiming(); // Paper // Purpur gameprofilerfiller.popPush("raid"); - this.timings.raids.startTiming(); // Paper - timings + //this.timings.raids.startTiming(); // Paper - timings // Purpur this.raids.tick(); - this.timings.raids.stopTiming(); // Paper - timings + //this.timings.raids.stopTiming(); // Paper - timings // Purpur gameprofilerfiller.popPush("chunkSource"); - this.timings.chunkProviderTick.startTiming(); // Paper - timings + //this.timings.chunkProviderTick.startTiming(); // Paper - timings // Purpur this.getChunkSource().tick(shouldKeepTicking, true); - this.timings.chunkProviderTick.stopTiming(); // Paper - timings + //this.timings.chunkProviderTick.stopTiming(); // Paper - timings // Purpur gameprofilerfiller.popPush("blockEvents"); - timings.doSounds.startTiming(); // Spigot + //timings.doSounds.startTiming(); // Spigot // Purpur this.runBlockEvents(); - timings.doSounds.stopTiming(); // Spigot + //timings.doSounds.stopTiming(); // Spigot // Purpur this.handlingTick = false; gameprofilerfiller.pop(); boolean flag = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players @@ -681,7 +681,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (flag || this.emptyTime++ < 300) { gameprofilerfiller.push("entities"); - timings.tickEntities.startTiming(); // Spigot + //timings.tickEntities.startTiming(); // Spigot // Purpur if (this.dragonFight != null) { gameprofilerfiller.push("dragonFight"); this.dragonFight.tick(); @@ -689,7 +689,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } org.spigotmc.ActivationRange.activateEntities(this); // Spigot - timings.entityTick.startTiming(); // Spigot + //timings.entityTick.startTiming(); // Spigot // Purpur this.entityTickList.forEach((entity) -> { if (!entity.isRemoved()) { if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed @@ -729,8 +729,8 @@ public class ServerLevel extends Level implements WorldGenLevel { } } }); - timings.entityTick.stopTiming(); // Spigot - timings.tickEntities.stopTiming(); // Spigot + //timings.entityTick.stopTiming(); // Spigot // Purpur + //timings.tickEntities.stopTiming(); // Spigot // Purpur gameprofilerfiller.pop(); this.tickBlockEntities(); } @@ -892,7 +892,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Paper start - optimise random block ticking gameprofilerfiller.popPush("randomTick"); - timings.chunkTicksBlocks.startTiming(); // Paper + //timings.chunkTicksBlocks.startTiming(); // Paper // Purpur if (randomTickSpeed > 0) { LevelChunkSection[] sections = chunk.getSections(); int minSection = io.papermc.paper.util.WorldUtil.getMinSection(this); @@ -926,7 +926,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } // Paper end - optimise random block ticking - timings.chunkTicksBlocks.stopTiming(); // Paper + //timings.chunkTicksBlocks.stopTiming(); // Paper // Purpur gameprofilerfiller.pop(); } @@ -1220,8 +1220,8 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot end // Paper start- timings final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(entity); - timer = isActive ? entity.getType().tickTimer.startTiming() : entity.getType().inactiveTickTimer.startTiming(); // Paper - try { + //timer = isActive ? entity.getType().tickTimer.startTiming() : entity.getType().inactiveTickTimer.startTiming(); // Paper // Purpur + //try { // Purpur // Paper end - timings entity.setOldPosAndRot(); ProfilerFiller gameprofilerfiller = this.getProfiler(); @@ -1237,7 +1237,7 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.postTick(); // CraftBukkit } else { entity.inactiveTick(); } // Paper - EAR 2 this.getProfiler().pop(); - } finally { timer.stopTiming(); } // Paper - timings + //} finally { timer.stopTiming(); } // Paper - timings // Purpur Iterator iterator = entity.getPassengers().iterator(); while (iterator.hasNext()) { @@ -1260,8 +1260,8 @@ public class ServerLevel extends Level implements WorldGenLevel { if (passenger instanceof Player || this.entityTickList.contains(passenger)) { // Paper - EAR 2 final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger); - co.aikar.timings.Timing timer = isActive ? passenger.getType().passengerTickTimer.startTiming() : passenger.getType().passengerInactiveTickTimer.startTiming(); // Paper - try { + //co.aikar.timings.Timing timer = isActive ? passenger.getType().passengerTickTimer.startTiming() : passenger.getType().passengerInactiveTickTimer.startTiming(); // Paper // Purpur + //try { // Purpur // Paper end passenger.setOldPosAndRot(); ++passenger.tickCount; @@ -1291,7 +1291,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.tickPassenger(passenger, entity2); } - } finally { timer.stopTiming(); }// Paper - EAR2 timings + //} finally { timer.stopTiming(); }// Paper - EAR2 timings // Purpur } } else { passenger.stopRiding(); @@ -1311,14 +1311,14 @@ public class ServerLevel extends Level implements WorldGenLevel { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); } - try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) { + //try (co.aikar.timings.Timing ignored = this.timings.worldSave.startTiming()) { // Purpur if (doFull) { this.saveLevelData(); } - this.timings.worldSaveChunks.startTiming(); // Paper + //this.timings.worldSaveChunks.startTiming(); // Paper // Purpur if (!this.noSave()) chunkproviderserver.saveIncrementally(); - this.timings.worldSaveChunks.stopTiming(); // Paper + //this.timings.worldSaveChunks.stopTiming(); // Paper // Purpur // Copied from save() // CraftBukkit start - moved from MinecraftServer.saveChunks @@ -1330,7 +1330,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.convertable.saveDataTag(this.server.registryHolder, this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); } // CraftBukkit end - } + //} // Purpur } // Paper end @@ -1339,7 +1339,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (!savingDisabled) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit - try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper + //try (co.aikar.timings.Timing ignored = timings.worldSave.startTiming()) { // Paper // Purpur // Purpur if (progressListener != null) { progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); } @@ -1349,10 +1349,10 @@ public class ServerLevel extends Level implements WorldGenLevel { progressListener.progressStage(Component.translatable("menu.savingChunks")); } - timings.worldSaveChunks.startTiming(); // Paper + //timings.worldSaveChunks.startTiming(); // Paper // Purpur chunkproviderserver.save(flush); - timings.worldSaveChunks.stopTiming(); // Paper - }// Paper + //timings.worldSaveChunks.stopTiming(); // Paper // Purpur + //}// Paper // Purpur if (flush) { this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java index 38cd5aec3c54984c3c3429aa0bfb525ba170f116..6fd2886a77868a19f8077e6f0c61532be8db089a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2447,7 +2447,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } private void handleCommand(String s) { - co.aikar.timings.MinecraftTimings.playerCommandTimer.startTiming(); // Paper + //co.aikar.timings.MinecraftTimings.playerCommandTimer.startTiming(); // Paper // Purpur if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); @@ -2457,7 +2457,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { - co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper + //co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper // Purpur return; } @@ -2470,7 +2470,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { - co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper + //co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper // Purpur } } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java index be338bfaaada839ca9fcc556e4f0608fca3216ec..048df4f7263515faefd78e60a8223136665cdf44 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1280,7 +1280,7 @@ public abstract class PlayerList { public void saveAll(int interval) { net.minecraft.server.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main - MinecraftTimings.savePlayers.startTiming(); // Paper + //MinecraftTimings.savePlayers.startTiming(); // Paper // Purpur int numSaved = 0; long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { @@ -1291,7 +1291,7 @@ public abstract class PlayerList { } // Paper end } - MinecraftTimings.savePlayers.stopTiming(); // Paper + //MinecraftTimings.savePlayers.stopTiming(); // Paper // Purpur return null; }); // Paper - ensure main } diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java index eb5a332f0705dd2e5568749a22f2f318d68010d1..8e3b06e1512ea4ee7b0de8294cfd624f47e260ee 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java @@ -56,9 +56,9 @@ public abstract class Behavior { this.status = Behavior.Status.RUNNING; int i = this.minDuration + world.getRandom().nextInt(this.maxDuration + 1 - this.minDuration); this.endTimestamp = time + (long)i; - this.timing.startTiming(); // Paper - behavior timings + //this.timing.startTiming(); // Paper - behavior timings // Purpur this.start(world, entity, time); - this.timing.stopTiming(); // Paper - behavior timings + //this.timing.stopTiming(); // Paper - behavior timings // Purpur return true; } else { return false; @@ -69,13 +69,13 @@ public abstract class Behavior { } public final void tickOrStop(ServerLevel world, E entity, long time) { - this.timing.startTiming(); // Paper - behavior timings + //this.timing.startTiming(); // Paper - behavior timings // Purpur if (!this.timedOut(time) && this.canStillUse(world, entity, time)) { this.tick(world, entity, time); } else { this.doStop(world, entity, time); } - this.timing.stopTiming(); // Paper - behavior timings + //this.timing.stopTiming(); // Paper - behavior timings // Purpur } diff --git a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c10fdf4dda 100644 --- a/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java +++ b/src/main/java/net/minecraft/world/entity/ai/sensing/Sensor.java @@ -46,10 +46,10 @@ public abstract class Sensor { if (--this.timeToTick <= 0L) { // Paper start - configurable sensor tick rate and timings this.timeToTick = java.util.Objects.requireNonNullElse(world.paperConfig().tickRates.sensor.get(entity.getType(), this.configKey), this.scanRate); - this.timing.startTiming(); + //this.timing.startTiming(); // Purpur // Paper end this.doTick(world, entity); - this.timing.stopTiming(); // Paper - sensor timings + //this.timing.stopTiming(); // Paper - sensor timings // Purpur } } diff --git a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java index 210b0cdd4831421c8f43c3d823ac8e962b56bbbc..de99946f5215ff2c78d6df5b8b7d5b6abaece907 100644 --- a/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java +++ b/src/main/java/net/minecraft/world/entity/ai/village/poi/PoiManager.java @@ -351,9 +351,9 @@ public class PoiManager extends SectionStorage { ChunkPos chunkcoordintpair = SectionPos.of(this.dirty.firstLong()).chunk(); net.minecraft.nbt.CompoundTag data; - try (co.aikar.timings.Timing ignored1 = this.world.timings.poiSaveDataSerialization.startTiming()) { + //try (co.aikar.timings.Timing ignored1 = this.world.timings.poiSaveDataSerialization.startTiming()) { // Purpur data = this.getData(chunkcoordintpair); - } + //} // Purpur com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world, chunkcoordintpair.x, chunkcoordintpair.z, data, null, com.destroystokyo.paper.io.PrioritizedTaskQueue.NORMAL_PRIORITY); } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java index 0dab4ef279f7e9af64290395b4af205b0d54f271..d270d0f47d26085ce7912b61a66b922a95871a73 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -994,15 +994,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { ProfilerFiller gameprofilerfiller = this.getProfiler(); gameprofilerfiller.push("blockEntities"); - timings.tileEntityPending.startTiming(); // Spigot + //timings.tileEntityPending.startTiming(); // Spigot // Purpur this.tickingBlockEntities = true; if (!this.pendingBlockEntityTickers.isEmpty()) { this.blockEntityTickers.addAll(this.pendingBlockEntityTickers); this.pendingBlockEntityTickers.clear(); } - timings.tileEntityPending.stopTiming(); // Spigot + //timings.tileEntityPending.stopTiming(); // Spigot // Purpur - timings.tileEntityTick.startTiming(); // Spigot + //timings.tileEntityTick.startTiming(); // Spigot // Purpur // Spigot start // Iterator iterator = this.blockEntityTickers.iterator(); int tilesThisCycle = 0; @@ -1035,7 +1035,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } this.blockEntityTickers.removeAll(toRemove); - timings.tileEntityTick.stopTiming(); // Spigot + //timings.tileEntityTick.stopTiming(); // Spigot // Purpur this.tickingBlockEntities = false; co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper gameprofilerfiller.pop(); diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java index 1f4acc1a2605f1e9051126fc811a5479351fc61a..5c6fde4baf27e7d8f027c138d843da39a4a2ed36 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -132,7 +132,7 @@ public final class NaturalSpawner { public static void spawnForChunk(ServerLevel world, LevelChunk chunk, NaturalSpawner.SpawnState info, boolean spawnAnimals, boolean spawnMonsters, boolean rareSpawn) { world.getProfiler().push("spawner"); - world.timings.mobSpawn.startTiming(); // Spigot + //world.timings.mobSpawn.startTiming(); // Spigot // Purpur MobCategory[] aenumcreaturetype = NaturalSpawner.SPAWNING_CATEGORIES; int i = aenumcreaturetype.length; @@ -187,7 +187,7 @@ public final class NaturalSpawner { } } - world.timings.mobSpawn.stopTiming(); // Spigot + //world.timings.mobSpawn.stopTiming(); // Spigot // Purpur world.getProfiler().pop(); } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java index 6fbf26eb7da8df2f0a4158ff9f12022518ada8e3..ab024c5315c0a7cb2f80d5d7b251f6a3531879b3 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -875,7 +875,7 @@ public class LevelChunk extends ChunkAccess { server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration)); if (this.needsDecoration) { - try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper + //try (co.aikar.timings.Timing ignored = this.level.timings.chunkLoadPopulate.startTiming()) { // Paper // Purpur this.needsDecoration = false; java.util.Random random = new java.util.Random(); random.setSeed(this.level.getSeed()); @@ -895,7 +895,7 @@ public class LevelChunk extends ChunkAccess { } } server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(this.bukkitChunk)); - } // Paper + //} // Paper // Purpur } } } @@ -1239,7 +1239,7 @@ public class LevelChunk extends ChunkAccess { ProfilerFiller gameprofilerfiller = LevelChunk.this.level.getProfiler(); gameprofilerfiller.push(this::getType); - this.blockEntity.tickTimer.startTiming(); // Spigot + //this.blockEntity.tickTimer.startTiming(); // Spigot // Purpur BlockState iblockdata = LevelChunk.this.getBlockState(blockposition); if (this.blockEntity.getType().isValid(iblockdata)) { @@ -1261,7 +1261,7 @@ public class LevelChunk extends ChunkAccess { // Paper end // Spigot start } finally { - this.blockEntity.tickTimer.stopTiming(); + //this.blockEntity.tickTimer.stopTiming(); // Purpur // Spigot end } } diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java index d1526ed7197b883e1d1f07baf285bf5eef4d20d5..5402098dce0d64d3dceea51f248d7d366850a74f 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -516,10 +516,10 @@ public class CraftScheduler implements BukkitScheduler { this.runners.remove(task.getTaskId()); } } - MinecraftTimings.bukkitSchedulerFinishTimer.startTiming(); // Paper + //MinecraftTimings.bukkitSchedulerFinishTimer.startTiming(); // Paper // Purpur this.pending.addAll(temp); temp.clear(); - MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper + //MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper // Purpur //this.debugHead = this.debugHead.getNextHead(currentTick); // Paper } @@ -563,7 +563,7 @@ public class CraftScheduler implements BukkitScheduler { } void parsePending() { // Paper - if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.startTiming(); // Paper + //if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.startTiming(); // Paper // Purpur CraftTask head = this.head; CraftTask task = head.getNext(); CraftTask lastTask = head; @@ -582,7 +582,7 @@ public class CraftScheduler implements BukkitScheduler { task.setNext(null); } this.head = lastTask; - if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.stopTiming(); // Paper + //if (!this.isAsyncScheduler) MinecraftTimings.bukkitSchedulerPendingTimer.stopTiming(); // Paper // Purpur } private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java index 3f45bab0e9f7b3697e6d9d1092a1e6e579f7066f..4f1cf281c4bf68c37982d390da8779dea78dab18 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -96,13 +96,13 @@ public class CraftTask implements BukkitTask, Runnable { // Spigot @Override public void run() { - try (Timing ignored = timings.startTiming()) { // Paper + //try (Timing ignored = timings.startTiming()) { // Paper // Purpur if (this.rTask != null) { this.rTask.run(); } else { this.cTask.accept(this); } - } // Paper + //} // Paper // Purpur } long getCreatedAt() { diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java index c74ac9cf5db4d8adfe781cf066258011da469717..73c48bbb3c6ff9de15acb7adaa15f904785ccfef 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java @@ -115,7 +115,7 @@ public final class CraftScoreboardManager implements ScoreboardManager { public void getScoreboardScores(ObjectiveCriteria criteria, String name, Consumer consumer) { // Paper start - add timings for scoreboard search // plugins leaking scoreboards will make this very expensive, let server owners debug it easily - co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.startTimingIfSync(); + //co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.startTimingIfSync(); // Purpur try { // Paper end - add timings for scoreboard search for (CraftScoreboard scoreboard : this.scoreboards) { @@ -123,7 +123,7 @@ public final class CraftScoreboardManager implements ScoreboardManager { board.forAllObjectives(criteria, name, (score) -> consumer.accept(score)); } } finally { // Paper start - add timings for scoreboard search - co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.stopTimingIfSync(); + //co.aikar.timings.MinecraftTimings.scoreboardScoreSearch.stopTimingIfSync(); // Purpur } // Paper end - add timings for scoreboard search } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java index 08d678f781a86e709a8b6066a12fd76830d142cc..796e0ff6dda3ed7e237597d050e1277ea7939086 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -170,7 +170,7 @@ public class ActivationRange */ public static void activateEntities(Level world) { - MinecraftTimings.entityActivationCheckTimer.startTiming(); + //MinecraftTimings.entityActivationCheckTimer.startTiming(); // Purpur final int miscActivationRange = world.spigotConfig.miscActivationRange; final int raiderActivationRange = world.spigotConfig.raiderActivationRange; final int animalActivationRange = world.spigotConfig.animalActivationRange; @@ -239,7 +239,7 @@ public class ActivationRange } // Paper end } - MinecraftTimings.entityActivationCheckTimer.stopTiming(); + //MinecraftTimings.entityActivationCheckTimer.stopTiming(); // Purpur } /**