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/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java index bc72131afa1ae9986ee311a9b371e97c8feb38f8..538bf435a4307a166bf6d926f71f391f620233f0 100644 --- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java @@ -68,14 +68,14 @@ public class GlobalConfiguration extends ConfigurationPart { @Override public void postProcess() { - // Pufferfish start + /*// Pufferfish start // Purpur if (enabled && !reallyEnabled) { Bukkit.getLogger().log(Level.WARNING, "[Pufferfish] To improve performance, timings have been disabled by default"); Bukkit.getLogger().log(Level.WARNING, "[Pufferfish] You can still use timings by using /timings on, but they will not start on server startup unless you set timings.really-enabled to true in paper.yml"); Bukkit.getLogger().log(Level.WARNING, "[Pufferfish] If you would like to disable this message, either set timings.really-enabled to true or timings.enabled to false."); } enabled = reallyEnabled; - // Pufferfish end + */// Pufferfish end // Purpur MinecraftTimings.processConfig(this); } } diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java index 8bc0cb9ad5bb4e76d962ff54305e2c08e279a17b..e8efbbeece7e866c6c4d7489677d2d9e15fea4d0 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 @@ -60,7 +61,7 @@ public class PacketUtils { net.minecraft.network.chat.Component error = net.minecraft.network.chat.Component.literal("Packet processing error"); networkmanager.send(new net.minecraft.network.protocol.game.ClientboundDisconnectPacket(error), net.minecraft.network.PacketSendListener.thenRun(() -> 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 63660814d0ba4090f52146119707f04d8b905f18..c340f7577435d59ae46455a2b94521bc401aeaa9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1428,15 +1428,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 @@ -1488,9 +1488,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); @@ -1352,7 +1352,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; @@ -1377,7 +1377,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } return chunk; - } // Paper + //} // Paper // Purpur }); }, (runnable) -> { ProcessorHandle mailbox = this.mainThreadMailbox; @@ -1509,9 +1509,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); @@ -1531,9 +1531,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); @@ -1544,7 +1544,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; @@ -1568,9 +1568,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, @@ -1584,7 +1584,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return false; } } - } // Paper + //} // Paper // Purpur } private boolean isExistingChunkFull(ChunkPos pos) { @@ -2107,24 +2107,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 @@ -2139,7 +2139,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; @@ -2164,17 +2164,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 795691bcb61a7c2b4f903d8db3b6714908c78ac2..9e796ab10152d630fe78ec247d6b0c2689ae00ab 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -483,10 +483,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 @@ -650,7 +650,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(); @@ -660,7 +660,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 @@ -678,17 +678,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 @@ -723,22 +723,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(); } @@ -793,7 +793,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 @@ -814,12 +814,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 @@ -873,17 +873,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(); @@ -895,7 +895,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 0df97cf932f8bd315e3ae645368ae8df6c51fc25..207f07dfd0d2fd0ff5fdb3952966d069ca184123 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -654,7 +654,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"); @@ -663,20 +663,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 @@ -687,7 +687,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(); @@ -695,7 +695,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 @@ -735,8 +735,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(); } @@ -898,7 +898,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); @@ -932,7 +932,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(); } @@ -1226,8 +1226,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(); @@ -1243,7 +1243,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()) { @@ -1266,8 +1266,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; @@ -1297,7 +1297,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(); @@ -1317,14 +1317,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 @@ -1336,7 +1336,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 @@ -1345,7 +1345,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")); } @@ -1355,10 +1355,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 9519e11fef244eb1b286b43b857d3f41865784c4..7a0adbdcadd20269e92cb698b569f04b169dade4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2602,7 +2602,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper End - 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); @@ -2612,7 +2612,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { - co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper + //co.aikar.timings.MinecraftTimings.playerCommandTimer.stopTiming(); // Paper // Purpur return; } @@ -2625,7 +2625,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic 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 9ed964da70a17afbe26c513f67b2d911f2c9e7c5..138b2c1a21b9ceb60030d10e24c78e09533937a0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1287,7 +1287,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) { @@ -1298,7 +1298,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 c5dac52a23d9df26cacb869fd841da9bf518c313..bd89e00f707b6ba297081c9aacb3c5463e80063e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -995,15 +995,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; @@ -1036,7 +1036,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 138407c2d4b0bc55ddb9aac5d2aa3edadda090fb..a6e9e503a496c18e2501b03ec84f4600c134a50c 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 6e87153e62db14b5bc8a984c6c9c61780d102083..937e3e783cf2f38b30024d29600eb4d042816058 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; @@ -240,7 +240,7 @@ public class ActivationRange } // Paper end } - MinecraftTimings.entityActivationCheckTimer.stopTiming(); + //MinecraftTimings.entityActivationCheckTimer.stopTiming(); // Purpur } /**