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> From: Aikar <aikar@aikar.co>
Date: Wed, 30 Mar 2016 02:13:24 -0400 Date: Wed, 30 Mar 2016 02:13:24 -0400
Subject: [PATCH] Use Optimized Collections For DataWatcher, swap out plain Subject: [PATCH] Use Optimized Collections
Integer key HashMap for a Int2ObjectOpenHashMap For ChunkProviderServer, swap
out CraftBukkit LongObjectHashMap with Long2ObjectOpenHashMap 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 Amaranth, the creator of LongObjectHashMap, tested it vs fastutil and determined fastutil to be 3x faster
and could not create anything faster than fastutil. 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 CommandAbstract
import CommandScoreboard import CommandScoreboard
import CommandWhitelist import CommandWhitelist
import DataBits
import DataConverterMaterialId import DataConverterMaterialId
import EULA import EULA
import EntitySquid import EntitySquid