--- a/net/minecraft/server/MethodProfiler.java
+++ b/net/minecraft/server/MethodProfiler.java
@@ -12,6 +12,7 @@
 
 public class MethodProfiler {
 
+    public static final boolean ENABLED = Boolean.getBoolean("enableDebugMethodProfiler"); // CraftBukkit - disable unless specified in JVM arguments
     private static final Logger b = LogManager.getLogger();
     private final List<String> c = Lists.newArrayList();
     private final List<Long> d = Lists.newArrayList();
@@ -22,12 +23,14 @@
     public MethodProfiler() {}
 
     public void a() {
+        if (!ENABLED) return;  // CraftBukkit
         this.f.clear();
         this.e = "";
         this.c.clear();
     }
 
     public void a(String s) {
+        if (!ENABLED) return;  // CraftBukkit
         if (this.a) {
             if (this.e.length() > 0) {
                 this.e = this.e + ".";
@@ -40,6 +43,7 @@
     }
 
     public void b() {
+        if (!ENABLED) return;  // CraftBukkit
         if (this.a) {
             long i = System.nanoTime();
             long j = ((Long) this.d.remove(this.d.size() - 1)).longValue();
@@ -62,7 +66,7 @@
     }
 
     public List<MethodProfiler.ProfilerInfo> b(String s) {
-        if (!this.a) {
+        if (!ENABLED || !this.a) {  // CraftBukkit
             return Collections.emptyList();
         } else {
             long i = this.f.containsKey("root") ? ((Long) this.f.get("root")).longValue() : 0L;
@@ -128,11 +132,13 @@
     }
 
     public void c(String s) {
+        if (!ENABLED) return;  // CraftBukkit
         this.b();
         this.a(s);
     }
 
     public String c() {
+        if (!ENABLED) return "[DISABLED]";  // CraftBukkit
         return this.c.size() == 0 ? "[UNKNOWN]" : (String) this.c.get(this.c.size() - 1);
     }
 
@@ -152,7 +158,7 @@
             return methodprofiler_profilerinfo.a < this.a ? -1 : (methodprofiler_profilerinfo.a > this.a ? 1 : methodprofiler_profilerinfo.c.compareTo(this.c));
         }
 
-        public int compareTo(Object object) {
+        public int compareTo(MethodProfiler.ProfilerInfo object) { // CraftBukkit: decompile error
             return this.a((MethodProfiler.ProfilerInfo) object);
         }
     }