Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-14 20:10:05 +01:00
Use reference hash set in reference Holder (#11363)
Dieser Commit ist enthalten in:
Ursprung
b483da4e02
Commit
ff251e42b6
@ -1,9 +1,23 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||||
Date: Sun, 20 Mar 2022 22:06:47 -0700
|
Date: Sun, 20 Mar 2022 22:06:47 -0700
|
||||||
Subject: [PATCH] cache resource keys
|
Subject: [PATCH] Cache resource keys and optimize reference Holder tags set
|
||||||
|
|
||||||
|
TagKeys are always interned, so we can use a reference hash set for them
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/core/Holder.java b/src/main/java/net/minecraft/core/Holder.java
|
||||||
|
index d7bbf60ba94ecd85f991a0c5c70c34fdb00ec9d5..4d2231868b786da9071c3dff2c073b478a486e8a 100644
|
||||||
|
--- a/src/main/java/net/minecraft/core/Holder.java
|
||||||
|
+++ b/src/main/java/net/minecraft/core/Holder.java
|
||||||
|
@@ -221,7 +221,7 @@ public interface Holder<T> {
|
||||||
|
}
|
||||||
|
|
||||||
|
void bindTags(Collection<TagKey<T>> tags) {
|
||||||
|
- this.tags = Set.copyOf(tags);
|
||||||
|
+ this.tags = java.util.Collections.unmodifiableSet(new it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<>(tags)); // Paper
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
|
||||||
index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644
|
index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren