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>
|
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.
|
||||||
|
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 CommandAbstract
|
||||||
import CommandScoreboard
|
import CommandScoreboard
|
||||||
import CommandWhitelist
|
import CommandWhitelist
|
||||||
|
import DataBits
|
||||||
import DataConverterMaterialId
|
import DataConverterMaterialId
|
||||||
import EULA
|
import EULA
|
||||||
import EntitySquid
|
import EntitySquid
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren