Paper/Spigot-Server-Patches/0108-Remove-Debug-checks-from-DataBits.patch
Aikar 18c3716c49
Current Chunk for Entity and Block Entities, counts by entity type
This enables us a fast reference to the entities current chunk instead
of having to look it up by hashmap lookups.

We also store counts by type to further enable other performance optimizations in later patches.
2018-07-04 03:58:56 -04:00

47 Zeilen
1.6 KiB
Diff

From d097ae862c5d2aa16d9ba2999604b63ef62734e5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 5 Apr 2016 21:38:58 -0400
Subject: [PATCH] Remove Debug checks from DataBits
These are super hot and causing noticeable hits
Before: http://i.imgur.com/nQsMzAE.png
After: http://i.imgur.com/nJ46crB.png
diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java
index f3a6799a8..fa0fd8a9c 100644
--- a/src/main/java/net/minecraft/server/DataBits.java
+++ b/src/main/java/net/minecraft/server/DataBits.java
@@ -10,7 +10,7 @@ public class DataBits {
private final int d;
public DataBits(int i, int j) {
- Validate.inclusiveBetween(1L, 32L, (long) i);
+ //Validate.inclusiveBetween(1L, 32L, (long) i); // Paper
this.d = j;
this.b = i;
this.c = (1L << i) - 1L;
@@ -18,8 +18,8 @@ public class DataBits {
}
public void a(int i, int j) {
- Validate.inclusiveBetween(0L, (long) (this.d - 1), (long) i);
- Validate.inclusiveBetween(0L, this.c, (long) j);
+ //Validate.inclusiveBetween(0L, (long) (this.d - 1), (long) i); // Paper
+ //Validate.inclusiveBetween(0L, this.c, (long) j); // Paper
int k = i * this.b;
int l = k / 64;
int i1 = ((i + 1) * this.b - 1) / 64;
@@ -36,7 +36,7 @@ public class DataBits {
}
public int a(int i) {
- Validate.inclusiveBetween(0L, (long) (this.d - 1), (long) i);
+ //Validate.inclusiveBetween(0L, (long) (this.d - 1), (long) i); // Paper
int j = i * this.b;
int k = j / 64;
int l = ((i + 1) * this.b - 1) / 64;
--
2.18.0