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
This commit is contained in:
Aikar 2016-04-05 21:55:07 -04:00
parent cdd926c1e9
commit 539e1e024c
3 changed files with 52 additions and 4 deletions

View File

@ -1,9 +1,10 @@
From d07ba0d59c2b9be2696a4828c94fa060bca16a4d Mon Sep 17 00:00:00 2001
From f5f8b5a575cc3c930265d776afb026c1612ac2af Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 30 Mar 2016 02:13:24 -0400
Subject: [PATCH] Use Optimized Collections For DataWatcher, swap out plain
Integer key HashMap for a Int2ObjectOpenHashMap For ChunkProviderServer, swap
out CraftBukkit LongObjectHashMap with Long2ObjectOpenHashMap
Subject: [PATCH] Use Optimized Collections
Swap out CraftBukkit LongObjectHashMap with Long2ObjectOpenHashMap
Swap out Integer key HashMap for a Int2ObjectOpenHashMap For ChunkProviderServer
Amaranth, the creator of LongObjectHashMap, tested it vs fastutil and determined fastutil to be 3x faster
and could not create anything faster than fastutil.

View File

@ -0,0 +1,46 @@
From c6bc76ac60f1cfae931ab39397e133033488b43c 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 f3a6799..fa0fd8a 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.8.0

View File

@ -47,6 +47,7 @@ import ChunkProviderHell
import CommandAbstract
import CommandScoreboard
import CommandWhitelist
import DataBits
import DataConverterMaterialId
import EULA
import EntitySquid