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
Dieser Commit ist enthalten in:
Ursprung
cdd926c1e9
Commit
539e1e024c
@ -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.
|
||||
|
46
Spigot-Server-Patches/0129-Remove-Debug-checks-from-DataBits.patch
Normale Datei
46
Spigot-Server-Patches/0129-Remove-Debug-checks-from-DataBits.patch
Normale Datei
@ -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
|
||||
|
@ -47,6 +47,7 @@ import ChunkProviderHell
|
||||
import CommandAbstract
|
||||
import CommandScoreboard
|
||||
import CommandWhitelist
|
||||
import DataBits
|
||||
import DataConverterMaterialId
|
||||
import EULA
|
||||
import EntitySquid
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren