Paper/Spigot-Server-Patches/0199-Remove-the-Vanilla-Method-Profiler.patch

84 lines
3.4 KiB
Diff
Raw Normal View History

2017-06-19 09:36:55 +08:00
From 9d0f3de87d60210283c2810fab7fa104b0610071 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sat, 21 Jan 2017 02:00:33 -0500
Subject: [PATCH] Remove the Vanilla Method Profiler
Spigot rebrought this back after it was removed for years due to the performance hit.
2017-05-21 12:41:39 +08:00
It is unknown if the JIT will optimize it out as efficiently with how it was
added, so we do not want any risk of performance degredation.
Paper has a proper Timings system that makes the Vanilla Method profiler obsolete and inferior.
diff --git a/src/main/java/net/minecraft/server/CommandDebug.java b/src/main/java/net/minecraft/server/CommandDebug.java
2017-06-19 09:36:55 +08:00
index 89708da9..7586168d 100644
--- a/src/main/java/net/minecraft/server/CommandDebug.java
+++ b/src/main/java/net/minecraft/server/CommandDebug.java
2017-05-15 02:05:01 +08:00
@@ -35,12 +35,11 @@ public class CommandDebug extends CommandAbstract {
public void execute(MinecraftServer minecraftserver, ICommandListener icommandlistener, String[] astring) throws CommandException {
// CraftBukkit start - only allow use when enabled (so that no blank profile results occur)
- if (!minecraftserver.methodProfiler.ENABLED) {
- icommandlistener.sendMessage(new ChatComponentText("Vanilla debug profiling is disabled."));
- icommandlistener.sendMessage(new ChatComponentText("To enable, restart the server with `-DenableDebugMethodProfiler=true' before `-jar'."));
- icommandlistener.sendMessage(new ChatComponentText("Use `/timings' for plugin timings."));
+ if (true) { // Paper
+ icommandlistener.sendMessage(new ChatComponentText("Use `/timings report'")); // Paper
return;
}
+ /*
// CraftBukkit end
if (astring.length < 1) {
throw new ExceptionUsage("commands.debug.usage", new Object[0]);
2017-05-15 02:05:01 +08:00
@@ -146,7 +145,7 @@ public class CommandDebug extends CommandAbstract {
return astring[(int) (System.nanoTime() % (long) astring.length)];
} catch (Throwable throwable) {
return "Witty comment unavailable :(";
- }
+ }*/ // Paper
}
public List<String> tabComplete(MinecraftServer minecraftserver, ICommandListener icommandlistener, String[] astring, @Nullable BlockPosition blockposition) {
diff --git a/src/main/java/net/minecraft/server/MethodProfiler.java b/src/main/java/net/minecraft/server/MethodProfiler.java
2017-06-19 09:36:55 +08:00
index 20aa10c1..ebc324ed 100644
--- a/src/main/java/net/minecraft/server/MethodProfiler.java
+++ b/src/main/java/net/minecraft/server/MethodProfiler.java
@@ -9,8 +9,9 @@ import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
-public class MethodProfiler {
+// Paper - Remove this system - we have a more efficient Timings system
+/*
+class MethodProfiler {
public static final boolean ENABLED = Boolean.getBoolean("enableDebugMethodProfiler"); // CraftBukkit - disable unless specified in JVM arguments
private static final Logger b = LogManager.getLogger();
@@ -163,3 +164,22 @@ public class MethodProfiler {
}
}
}
+*/
+
+public class MethodProfiler {
+ public boolean a;
+
+ MethodProfiler() {}
+
+ public final void a() {}
+
+ public final void a(String s) {}
+
+ public final void b() {}
+
+ public final void c(String s) {}
+
+ public final String c() {
+ return null;
+ }
+}
--
2017-06-19 09:36:55 +08:00
2.13.1.windows.2