mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 15:49:00 +01:00
8778a2ef97
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.
44 lines
No EOL
1.6 KiB
Diff
44 lines
No EOL
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 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
|
|
@@ -0,0 +0,0 @@ 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;
|
|
@@ -0,0 +0,0 @@ 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;
|
|
@@ -0,0 +0,0 @@ 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;
|
|
--
|